2011-05-16 69 views
2

我想從我的數據庫中使用<?php foreach; ?>填充所有數據到表中,但我無法使其工作。請檢查我的代碼:Codeigniter從數據庫填充表

controller 
$data['query'] = $this->db->query('SELECT * FROM users'); 
$this->load->view('users_view',$data); 

View 
<?php foreach ($query->result_array() as $row) 
{ ;?> 
<tr> 
<td><?php echo $row['usrID'];?></td> 
<td><?php echo $row['usrName'];?></td> 
<td><?php echo $row['usrPassword'];?></td> 
</tr> 
<?php } ?> 
<?php endforeach; ?> 
+0

你已經有了'{...}'了'foreach'後,你也有'endforeach' - 只使用一個或另一個。在模板文件中,我發現'foreach(...):'和'endforeach;'最好的 – Josh 2011-05-16 14:28:05

回答

5

我會reccommend在看你的foreach替代語法...

它看起來像你應該有一些語法錯誤,你有它的方式。

<?php foreach ($query->result_array() as $row): ?> 
    <tr> 
     <td><?php echo $row['usrID'];?></td> 
     <td><?php echo $row['usrName'];?></td> 
     <td><?php echo $row['usrPassword'];?></td> 
    </tr> 
<?php endforeach; ?> 

編輯 - 指出你的語法問題。

<?php foreach ($query->result_array() as $row) 
{ ;?> //<---- semicolon? 
<tr> 
<td><?php echo $row['usrID'];?></td> 
<td><?php echo $row['usrName'];?></td> 
<td><?php echo $row['usrPassword'];?></td> 
</tr> 
<?php } ?> 
<?php endforeach; ?> //<--- no need for this when using regular foreach 

這第一個分號會是這樣寫這樣一個foreach ...從問題的角度

你應該處理您的數據

foreach ($array as $ele) { ; //<--this would throw an error just like it should above. 
    //do stuff 
} 

意見擱置在控制器中,並簡單地發送要在視圖中顯示的數據數組,而不是整個查詢對象。

所以......

控制器

$query = $this->db->query('SELECT * FROM users'); 
$data['users'] = $query->result_array(); 
$this->load->view('users_view',$data); 
+0

謝謝隊友..我很盲目..沒有看到我的foreach語法是錯誤的.. – 2011-05-16 14:31:33

+0

沒問題..... – jondavidjohn 2011-05-16 14:33:55

+0

類型:錯誤 消息:調用數組上的成員函數result_array() – NIMISHAN 2016-09-28 03:19:07