2016-04-05 15 views
0

Code-Zünder-Modell gibt json_encode Ergebnisse beim Laden der Seite Geschlecht = 3, wenn klicken Sie auf Schaltfläche weiblich Gender = 1 und wenn klicken Sie auf Schaltfläche männlich Gender = 2. Jetzt möchte ich hinzufügen, wo andere Aussagen in den Bedingungen. Sehen Sie, wenn Geschlecht = 3 wenn Bedingung.Code Igniter mehrere Where-Klauseln funktionieren nicht

function get_data_all($gender, $age_min, $age_max) { 
 
     
 
     $counter = 0;    
 
     $this->db->select('*');    
 
     if($gender == 1){ 
 
      $this->db->where('gender', 'F'); //working 
 
      $counter++; 
 
     } 
 
     elseif($gender == 2){ 
 
      $this->db->where('gender', 'M'); //working       
 
      $counter++; 
 
     } 
 
     elseif($gender == 3){     
 
      $names = array('F', 'M');    
 
      $this->db->where_in('gender', $names); //working 
 
      $this->db->where('age>=', 12); //not working 
 
      $this->db->where('age<=', 18); //not working    
 
      $counter++; 
 
     } 
 
     else{ 
 
      redirect(base_url()); 
 
     }      
 
     $query = $this->db->get('sudent_details');    
 
     if (($query->num_rows() > 0) && ($counter > 0)){     
 
      echo(json_encode($query->result()));       
 
      $counter = 0;        
 
     } else {     
 
      return false; 
 
     } 
 
    }

+1

hat einen Blick http://stackoverflow.com/questions/16498693/codeigniters-where-and-or-where –

+1

Versuchen mit Platz gibt an ' 'age> =' 'und ich bin mir nicht sicher, ob du einen Tippfehler bei deinem Tischnamen' sudent_details' hast – Saty

Antwort

3

space in Ihrem Spaltennamen & Vergleichsoperator

$this->db->where('age >= ', 12); 
$this->db->where('age <= ', 18); 
2

Sie müssen folgende Zeilen ersetzt werden:

$this->db->where('age>=', 12); //not working 
$this->db->where('age<=', 18); //not working 

TO:

$this->db->where('age','>=',12); 
$this->db->where('age','<=',18); 

OR:

$this->db->where('age >= 12',FASLE,FALSE); 
$this->db->where('age <= 18',FASLE,FALSE); 

OR:

$this->db->where('age>=', 12,FALSE); 
$this->db->where('age<=', 18,FALSE); 

sollte es funktionieren.

Verwandte Themen