输出错误,我得到了三个相同的评论,而不是只有一个。 谁能帮忙只发表一条评论。
这是我的 View php 代码:
$modelid = "5" ;
$query = $this->db->query('SELECT message FROM message WHERE modelid = '.$modelid.' ');
$row = $query->row();
echo $row->message;
和我的 table :
http://dev.interactive-creation-works.net/Stack/table.png
Controller :
class Comment extends CI_Controller
{
function index()
{
$data['result'] = $this->db->get('message')->result();
$this->load->view('commentView',$data);
}
function insert()
{
$this->load->model('commentjquery');
echo $this->commentjquery->inserttodb();
}
}
最佳答案
此 View 应该只显示一条消息,即使您这样做(无论出于何种原因,无论正确与否)从查询中获取了三条消息。您可能会在 Controller 中加载 View 三次。尝试在 View 的顶部和底部添加一些静态文本,看看它是否显示多次。
编辑:
现在您已经发布了 Controller ,我可以看到这不是问题。但我注意到您试图从数据库中获取注释两次 - 一次在 Controller 中,一次在模型中。 Controller 中的方法实际上是错误的方法,除非您已经为注释实现了 ActiveRecord 模型,并且无论如何您都不会使用结果。
我刚才注意到的另一件事是,您正在调用 $query->row()
而不是在 $query->result()
上运行 foreach。试试这个:
foreach($query->result() as $row) {
echo $row->message;
}
编辑2:或者也许这就是问题所在,如果您发布的代码片段不是整个 View ,情况似乎就是这样。
关于php - CodeIgniter - 查询数组输出三次而不是一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16845901/