如何在视图中加载和显示数据库数据?

时间:2014-12-20 15:14:39

标签: php codeigniter undefined

在我的管理页面上,我想在2个表格中显示所有数据行。一个是用户,另一个是最终产品。 这是我的观看代码:

<h3> Admin Page </h3> <?php 
echo "</br>";?>
<h4>Users</h4>
<?php 

print "<table id='t05'>";
print "<th>ID</th>";
print "<th>Username</ th>";
print "<th>Password</ th>";
print "<th>Email</ th>";

foreach ($data->result() as $row)
{
echo "<tr>"; 

echo "<td>". $row->id ."</td>"; 
echo "<td>". $row->username ."</td>"; 
echo "<td>". $row->password ."</td>"; 
echo "<td>". $row->email ."</td>"; 
echo "<td><a href=amend.php?id2=". $row ->id .">Amend</a></td>";
echo "<td><a href=delete.php?id2=".$row->id .">Delete</a></td>";
echo "<td><a href=add.php>Add</a></td>";
echo "</tr>"; 

}

print "</table>";
echo "</br>";
?>
</body>

我的控制器代码是:

public function admin()
{
$this->load->view('head');
$this->load->model('admin_model');
$data['users'] = $this->admin_model->show_data(); 
$this->load->view('admin', $data);
$this->load->view('footer');
}

我的型号代码:

<?php
class Admin_model extends CI_Model {

public function __construct()
{
    $this->load->database();
}

public function show_data()
{
$query = $this->db->get('users');
return $query->row_array();
}
}

我收到错误:致命错误:在/comersomers/9/1/9/stecarterisd.co.uk/httpd.www/MVC/application/views/admin中调用null上的成员函数result()。第13行的PHP

另外,'消息:未定义的变量:数据“???

3 个答案:

答案 0 :(得分:0)

您的控制器需要从模型中提取数据(可选择修改它)并将其传递到视图中。 这是将模型与视图分开的好方法。

CodeIgniter将数据传递给视图的方法是将数据传递到$ data数组中,如下所示:

$data['users'] = $this->UserModel->getUsers();
$this->load->view('admin', $data);

现在$ data ['users']可以在您的视图中作为变量“$ users”访问 你可以像现在一样在视图中循环遍历这个数组。

答案 1 :(得分:0)

在你正在使用的模型控制器中

return $data->row_array() 

只需用

替换它
return $data->resullt() 

return $data->result_array() 

比foreach循环使用

 foreach($users as $row) 

不是

foreach($data->result() as $row)

希望这能解决您的问题。

答案 2 :(得分:0)

您所做的一切都是正确的,请替换模型中的以下代码。

return $query->result();

现在将$ data替换为您视图中的$ users。

foreach ($users as $row)
{
 //your code here.
}