2016-05-04 6 views
-1

hallo ich will Filterung in codeigniter Checkbox ... aber es zeigt nicht korrekt ausgegeben ... wenn jemand weiß, diese bitte versuchen Sie diesescodeigniter Kontrollkästchen Filterung

zu lösen Dies ist mein Controller

<?php 
class Check extends CI_Controller { 
    public function laptops(){ 
    $this->load->model('check_m'); 
    $filter = array(
     'price' => $this->input->get('price'), 
     'name' =>$this->input->get('name') 
    ); 
    $data['laptop'] = $this->check_m->laptops_m($filter); 

    // echo json_encode($data['laptop']); 
    $this->load->view('check_view',$data); 
} 
} 
?> 

Modell:

<?php 
class check_m extends CI_Model { 
    function laptops_m($filter = null){ 
    $this->db->select('*') 
      ->from('mobile_phones'); 
    // $query = $this->db->get('laptop_notebook')->result(); 
    // return $query; 
    if($filter['name']){ 
     $this->db->where('name', $filter['name']); 
    } 
    if($filter['price']){ 
     $this->db->where('price', $filter['price']); 
    } 
    $query = $this->db->get()->result(); 
    return $query; 
    } 
} 
?> 

Ansicht

<input type="checkbox" name="name" value="acer" class="searcType">  
<input type="checkbox" name="name" value="lenovo">  
<input type="checkbox" name="price" value="1000"> 
<table> 
    <tbody> 
    <?php foreach ($laptop as $laptops_all) { ?> 
     <tr> 
     <td><p>Laptop <?php echo $laptops_all->name ?> </p></td> 
     </tr> 
    <?php } ?> 
    </tbody> 
</table> 

<script> 
    $('.searchType').click(function() { 
    alert($(this).attr('id')); //-->this will alert id of checked checkbox. 
    if(this.checked){ 
     $.ajax({ 
     url: localhost/code/check/laptops, 
     dataType: 'json', 
     success: function(data){ 
      $.each(data, function(index, element) { 
      $("tbody").empty(); 
      $("tbody").append("<tr><td>"+ 
       "Laptop "+element.brand+""+ 
       "</td></tr>"); 
      }); 
      } 
     }); 
    } 
    }); 
</script> 

Hier möchte ich die Einzelteile mit Kontrollkästchen zum Filtern ... aber ich habe nicht ausgegeben Filterung ....

+0

i Filterkontrollkästchen in codeigniter wollen ..dynamisch ... was ich machen möchte ... ist das der richtige Code ... oder irgendwelche Änderungen? – chandu

+0

Ihre Frage ist nicht klar. Wenn Sie ein Kontrollkästchen anklicken, möchten Sie Daten filtern? Recht? Wenn übereinstimmende Zeichenfolgen wie statt wo verwenden: $ this-> db-> like ('name', $ filter ['name']); –

+0

ya..bereits habe ich versucht im Kern php..das ist ok ... aber in coderigniter es, s nicht funktioniert – chandu

Antwort

0

Sie sind keine Parameter für Senden $ this-> Input-> get() abholen.

Wenn Sie nur eine GET Anfrage zu senden, erhalten Sie keine csrf_token wie jemand erwähnt in den Kommentaren müssen.


Möglicherweise müssen Sie zuerst einige Konfigurationsvariablen überprüfen/einstellen. Diese sind in application/config/config.php

$config['uri_protocol'] = 'QUERY_STRING'; // OR AUTO 
$config['allow_get_array'] = TRUE; 
$config['enable_query_strings'] = TRUE; 

var BASEHREF = "<?php echo base_url();?>"; 

Ihre Ajax-Optionen sollten dann gehören die folgenden

{ 
    url : BASEHREF + 'check/laptops', 
    type : 'GET', 
    data : { name : 'toshiba', price : '1000'} 
} 
// GET http://yoursite.com/check/laptops?name=toshiba&price=1000