我正在学习在CodeIgniter 2.x中创建博客。我想要的是——当用户点击博客页面上的链接readmore时,它会将他重定向到具有相应id
的页面,向他展示一篇完整的文章。
现在,在content_model.php
中从数据库检索$query->row();
时,我想同时更新数据库中的viewed
列。因此,它将显示35 views
,而不是显示他例如34 views
,当有人打开同一链接时,它将再显示一个36 views
。
在不受黑客攻击的情况下,最好的方法是什么?
提前感谢您的帮助。
当您使用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.
}
我想这对你有帮助。
这应该很容易。当有人试图阅读帖子时,就在您检索帖子信息之前,请更新数据库中的计数视图。执行类似的查询
UPDATE `posts` SET `views` = `views` + 1;
之后,只需像往常一样检索帖子信息,然后通过将其输出到浏览器向用户显示。