我不知道我的代码有什么问题..
我正在尝试显示来自数据库的消息,但我一直在收到$ results未定义的错误。
控制器
public function getMessages()
{
$this->load->model('get_message');
$data['results']= $this->get_message->getMessage();
$this->load->view('home_view', $data);
}
模型
<?php
class get_message extends CI_Model{
function getMessage(){
$query = $this->db->query("SELECT * FROM messages");
return $query->result_array();
}
}
查看
<!DOCTYPE html>
<html>
<head>
<title>Home</title>
</head>
<body>
<h1>Home</h1>
<h2>Welcome <?php echo $username; ?>!</h2>
<div id="Main">
<?php
foreach($results->result() as $row){
echo $row ->id;
echo $row ->user_username;
echo $row ->text;
echo $row ->posted_at;
echo "<br/>";
}
?>
</div>
<a href="home/logout">Logout</a>
</body>
</html>
编辑:这是我的代码现在的样子
答案 0 :(得分:0)
您将错误的元素传递给视图。
$data['result']= $this->get_message->getMessage();
^
应该是
$data['results']= $this->get_message->getMessage();
^
同样在模特中,
return $query->result();
应该是:
return $query;
在视野中,
foreach($results as $row){
应该是
if ($results->num_rows()) { // IN CASE, THE RESULT HAS NO ROWS.
foreach($results->result() as $row) {
答案 1 :(得分:0)
在控制器中,您将数据发送为result
$data['result']= $this->get_message->getMessage();
在视图中访问:
foreach($result as $row){
}
您在foreach中使用results
而不是result
答案 2 :(得分:0)
查看:
您的代码
foreach(**$results** as $row){
}
?>
更改为
foreach(**$result** as $row){
}
?>
答案 3 :(得分:0)
控制器
public function index()
{
$this->load->model('get_message');
$data['results']= $this->get_message->getMessage();
$this->load->view('home_view', $data);
}
模型
<?php
class get_message extends CI_Model{
function getMessage(){
$query = $this->db->query('SELECT * FROM messages');
return $query->result_array();
}
}
视图
<!DOCTYPE html>
<html>
<head>
<title>Home</title>
</head>
<body>
<h1>Home</h1>
<div id="Main">
<?php
foreach($results as $row){
echo $row['id'];
echo $row['user_username'];
echo $row['text'];
echo $row['posted_at'];
echo "<br/>";
}
?>
</div>
</body>
</html>
此代码有效。如果不是,那你就做错了。
答案 4 :(得分:0)
尝试在控制器函数中获得其他变量的结果 -
public function getMessages()
{
$this->load->model('get_message');
$data['msgesult']= $this->get_message->getMessage();
$this->load->view('home_view', $data);
}
然后在视野中 -
<div id="Main">
<?php
foreach($msgesult as $row){
echo $row['id'];
echo $row['user_username'];
echo $row['text'];
echo $row['posted_at'];
echo "<br/>";
}
?>
</div>
这应该有用。