2012-06-14 38 views
0

在我的表中我有兩行,但當我print_r$data這個模型函數連接到它只是返回數據庫中的第二行爲什麼?Codeigniter result_array()返回一行

型號功能:

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; 
} 

回答

4

因爲$row是循環變量,它只會從最後一次迭代循環退出後保存數據。

做這樣的:

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 
} 

在你的控制器:

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

在你看來

//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; ?> 
+0

謝謝,我會如何獲取從數據視圖?在我有$ data ['blah'] = model_function之前,在視圖中我有$ blah ['table_name'] –

+0

@JessMcKenzie:請參閱編輯。 – xbonez

+0

Thanks @xbonez在html中使用它時什麼是當你使用<?php foreach($ userDetails as $ userDetail)時的正確語法:?> –

相關問題