php - CodeIgniter - 查询数组输出三次而不是一次

标签 php mysql codeigniter foreach

输出错误,我得到了三个相同的评论,而不是只有一个。 谁能帮忙只发表一条评论。

这是我的 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/

相关文章:

php - 在 php 中检测 mime 类型的正确方法

java - flyway mysqldump 迁移

mysql - 与日期和时间作斗争

php - MySQL,无效的日期时间格式 : 1366 Incorrect integer value: '' for column `iRecipes` .`searches` .`id` (php)

php - 可观察的更新值

php - Symfony 中允许空值但不允许空字符串

mysql - 大型 MySql 表给服务器带来过多负载

php - 根据代码点火器中的特定日期选择记录

codeigniter - 在 codeigniter HMVC 中加载 View 不起作用

codeigniter - 使用 CodeIgniter 网站解决多服务器环境