Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在视图中加载和显示数据库数据?_Php_Codeigniter_Undefined - Fatal编程技术网

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

Php 如何在视图中加载和显示数据库数据?,php,codeigniter,undefined,Php,Codeigniter,Undefined,在我的管理页面上,我想显示两个表中的所有数据行。一个是用户,另一个是最终产品。 以下是我的查看代码: <h3> Admin Page </h3> <?php echo "</br>";?> <h4>Users</h4> <?php print "<table id='t05'>"; print "<th>ID</th>"; print "<th>Username&l

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

<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>
我的型号代码:

<?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();
}
}

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

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

$data['users'] = $this->UserModel->getUsers();
$this->load->view('admin', $data);
现在$data['users']将作为变量“$users”在您的视图中可访问
您可以像现在一样在视图中循环此数组。

在您使用的模型控制器中

return $data->row_array() 
换成

return $data->resullt() 

而不是在foreach循环中使用

 foreach($users as $row) 
不是


希望这能解决您的问题。

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

return $query->result();
现在将视图中的$data替换为$users,如下所示

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

我建议不要在模板中执行所有这些逻辑。模板是什么意思?模板是指HTML页面。CodeIgniter对MVC要求不太严格,因此您可以在模板中做很多工作,但当控制器将数据加载到模板中,并在模型中收集和维护数据时,维护项目会容易得多。我已更改了我的问题:)谢谢您的帮助!
foreach($data->result() as $row)
return $query->result();
foreach ($users as $row)
{
 //your code here.
}