Codeigniter在使用activerecords检索时更新数据库中的列

时间:2012-09-08 12:23:21

标签: php mysql codeigniter-2

我正在学习在CodeIgniter 2.x中创建一个博客。我想要的 - 当用户点击博客页面上的链接 readmore 时,它会将其重定向到相应id的页面,以向他显示完整的文章。

现在,在$query->row();中从数据库中检索content_model.php时,我想同时更新数据库中的viewed列。因此,不是以34 views显示他,而是显示35 views,当有人打开相同的链接时,它会再显示一个人 - 36 views

最好的办法是什么,不要让它以某种方式容易受黑客攻击?

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

使用CI框架从数据库检索数据时,请检查以下内容:

    if ($result_from_get_function->num_rows()>0){
    return   $this->updateViewColoumnByOne();
    }else{
    return false;
    }
    function updateViewColoumnByOne(){
    //retrieve number of view in view column, suppose 12.
    //plus one with it; 12+1=13
   //update it.
   //again retrieve the new update number of views
   //and return.
   }

我认为这可以帮到你。

答案 1 :(得分:1)

这应该很容易。当有人在您检索帖子信息之前尝试阅读帖子时,请更新数据库中的计数视图。执行类似这样的查询

UPDATE `posts` SET `views` = `views` + 1;

之后,只需像平常一样检索帖子信息,然后将其输出到浏览器即可显示给用户。