我是codeigniter的新手,我想开发todo app.now问题是从数据库获取数据,任何人都找不到并告诉我错误是什么,
get.php
<html>
<head>
<title></title>
</head>
<body>
<?php foreach($data as $row){?>
<tr>
<td><?php echo $row->task; ?></td>
<td><?php echo $row->status; ?></td>
<td><?php echo $row->description; ?></td>
<td><?php echo $row->date; ?></td>
</tr>
<?php }?>
</body>
</html>
Add_task.php(模型)
public function get_user()
{
$this->load->database();
$data=$this->db->get('user');
return $data->result();
}
的welcome.php(控制器)
public function get_task($data)
{
$this->load->model('Add_task');
$data=$this->Add_task->get_user();
$this->load->view('get',$data);
}
我得到这样的错误
遇到PHP错误严重性:通知消息:未定义的变量:data文件名:views / get.php行号:8
回溯:
文件:C:\ wamp \ www \ CodeIgniter-3.0.4 \ application \ views \ get.php行:8功能:_error_handler文件:C:\ wamp \ www \ CodeIgniter-3.0.4 \ application \ controllers \ Welcome . php行:43功能:查看文件:C:\ wamp \ www \ CodeIgniter-3.0.4 \ application \ controllers \ Welcome.php行:33功能:get_task文件:C:\ wamp \ www \ CodeIgniter-3.0.4 \ index.php行:292功能:require_once
4 回答
只需将您的控制器更改为:
您需要在加载视图中传递关联数组
$data["data"]
Codeigniter通过键读取您的数组,因此您想要传递给查看的每个变量都必须将它作为一个键放在
$data
数组中,如下所示:并在您的视图中,用$ rows替换$ data:
只是改变
至
一切都很好 .
如果要将变量传递到视图中,则需要为其创建对应的数组索引(具有相同的名称但没有
$
符号) . 例如,如果要在'get'视图中包含$var1
,$my_variable
,$myCustomVariable
和$data
,则需要将其传递为:您必须传递包含数据库结果的关联数组 .
在"Creating Loops" paragrapher见到documentation page for views
Welcome.php(控制器)
并更改get.php(视图)中的循环: