2016-06-18 6 views
0

Ich werde bestimmtes Geschlecht aus DB abrufen wie gender = 'männlich' Code funktioniert gut, kann aber nicht iterieren es in foreach, warum escoderigniter Daten aus der Datenbank abrufen normal print_r funktioniert gut, aber kann nicht foreach verwenden warum

ist

Modell können Sie überprüfen,

class get_all_gender extends CI_Model { 
     //put your code here 
     public function select_male() { 
      $this->db->select('*'); 
      $this->db->from('bride_groom_register'); 
      $this->db->where("gender='male'"); 
      $query = $this->db->get(); 
      if ($query->result() > 0) 
      { 
       return $query; 
      } else { 
       return FALSE; 
      } 
     } 

    } 

und Controller im von Datenbank Abrufen von Daten

class Welcome extends CI_Controller { 


    public function index() 
    { 
      $this->load->model('get_all_gender'); 

      $data['res']=$this->get_all_gender->select_male(); 
      $this->load->view('list',$data); 

     } 
} 

einfache Ansicht

foreach ($res as $row) 
{ 
    echo $row->name; 

} 
+1

Könnten Sie bitte die Antwort akzeptieren, die für Sie funktioniert hat? – arshad

Antwort

0

Try Code unten auf Modell

Klassenname Anfangsbuchstaben Großbuchstaben

Dateiname: Get_all_gender.php

<?php 

class Get_all_gender extends CI_Model {//put your code here 

    public function select_male() { 
     $this->db->select('*'); 
     $this->db->from('bride_groom_register'); 
     $this->db->where('gender', 'male'); 
     $query = $this->db->get(); 

     if ($query->num_rows() > 0) { 

      return $query->result_array(); 

      // Or 

      // return $query->row_array(); 

     } else { 

      return FALSE; 

     } 
    } 

} 

On View

foreach ($res as $row) 
{ 
    echo $row['name']; 

} 
+0

funktioniert für mich dank Gott, Sie sparen meine ein Tag – sms

+0

@sms nicht für Antworten zu erhalten – user4419336

+0

wenn ich 15 Ruf dann meine Stimme wird im neuen hier betrachten – sms

0

Class Name zuerst Brief oben c ase

class Get_all_gender extends CI_Model {//put your code here 

    public function select_male() { 
     $this->db->select('*'); 
     $this->db->from('bride_groom_register'); 
     $this->db->where("gender='male'"); 
     $query = $this->db->get(); 

     if ($query->num_rows() > 0) { 

      return $query->result_array(); 

     } else { 

      return FALSE; 

     } 
    } 

} 
1

sollten Sie kehren die $query ‚s result() statt $query selbst. Ihr Modell sollte wie folgt aussehen:

class Get_all_gender extends CI_Model {//put your code here 

    public function select_male() { 
     $this->db->where("gender","male"); 
     $query = $this->db->get("bride_groom_register"); 

     if ($query->num_rows() > 0) { 

      return $query->result(); 
     } else { 

      return FALSE; 
     } 
    } 
} 

Sparen Sie das Ergebnis in der Steuerung:

$data['res'] = $this->get_all_gender->select_male(); 

So kann man es so in der Ansicht zugreifen:

if($res !== FALSE){ 
    foreach ($res as $row) 
    { 
     echo $row->name; 
    } 
} 

Sie sollten Überprüfen Sie auf die FALSE-Bedingung, andernfalls wird die Ansicht PHP-Fehler auslösen, wenn keine Zeilen vom Modell zurückgegeben werden.

1

Versuchen Sie, diese

In Modell

class get_all_gender extends CI_Model { 
    //put your code here 
    public function select_male() 
    { 
     $this->db->select('*'); 
     $this->db->from('bride_groom_register'); 
     $this->db->where("gender='male'"); 
     $query = $this->db->get(); 
     $result = $query->result_array(); 

     if (!empty($result)) 
     { 
      return $result; 
     } 
     else { 
      return FALSE; 
     } 
    } 
} 

Kontroller

class Welcome extends CI_Controller { 

    public function index() 
    { 
     $this->load->model('get_all_gender'); 

     $data['res'] = $this->get_all_gender->select_male(); 
     $this->load->view('list',$data); 
    } 
} 

In View

if ($res != FALSE) { 
    foreach ($res as $value) { 
     echo $value; 
    } 
} 
else { 
    echo "Seleted Category is Empty"; 
}