Codeigniter result_array () gibt eine Zeile zurück

In meiner Tabelle habe ich zwei Zeilen, aber wenn ich print_r die $data , mit denen diese modelfunktion verbunden ist, gibt nur die zweite Zeile in der DB zurück, warum?

model function:

 function getAllUsers() { $query = $this->db->get('users'); foreach($query->result_array() as $row) { $row['id']; $row['fName']; $row['lName']; $row['email']; $row['password']; } return $row; } 

Solutions Collecting From Web of "Codeigniter result_array () gibt eine Zeile zurück"

Da $row die loopsvariable ist, enthält sie nur die data der letzten Iteration, nachdem die loop beendet wurde.

Mach es so:

 function getAllUsers() { $rows = array(); //will hold all results $query = $this->db->get('users'); foreach($query->result_array() as $row) { $rows[] = $row; //add the fetched result to the result array; } return $rows; // returning rows, not row } 

In Ihrem Controller:

 $data['users'] = $this->yourModel->getAllUsers(); $this->load->view('yourView',$data); 

Ihrer Meinung nach

 //in your view, $users is an array. Iterate over it <?php foreach($users as $user) : ?> <p> Your first name is <?= $user['fName'] ?> </p> <?php endforeach; ?>