[已解决]实现浏览数据库该文章浏览数自动加一

#1 jiayan41

如何实现浏览文章后数据库该文章浏览数自动加一   ?

我使用smarty模板

2010-05-18 09:06:50

#2 chaobo_wu

在speedphp里面,浏览某篇文章就是调用某个控制器里面的一个函数,你可以在这个函数里面执行SQL语句使该文章浏览数加一

2010-05-18 09:31:14

#3 jiayan41

MVC 思路开了,谢谢,我在控制器里加行SQL,呵呵

2010-05-18 10:56:37

#4 jiayan41

                
$id = $this->spArgs("id")
$count = spClass("lib_contents");
$upconditions = array("id"=>$id);
$upcount = array('count' => count+1);
$count->update($upconditions, $upcount); // 更新记录
我这样写貌似不行啊

$upcount = array('count' => 'count'+1);


'count' 为我数据库中统计文章浏览次数的字段

现在出来的是dump  
UPDATE j_contents SET count = '1' WHERE id = '105'
我该怎么样修改呢?

2010-05-18 16:31:55

#5 jake

speedphp 3可以通过 $count->incrField(条件, 字段名);就可以加一了。

要加2怎么办?$count->incrField(条件, 字段名, 2);
--------

不好意思,是incrField

2010-05-18 16:47:49

#6 jiayan41

                $count = spClass("lib_contents");
                $upconditions = array("id"=>$id);
                $count->updateField($upconditions, 'count', 1); // 更新count字段加 1
                dump($count);
dump结果:UPDATE j_contents SET count = '1' WHERE id = '104'
请问我该如何修改

 
public function updateField($conditions, $field, $value)
{
  return $this->update($conditions, array($field=>$value));
}


所以改成这样  
 
$count->updateField($upconditions, 'count', 'count'+1); // 更新count字段加 1
  dump($count);


仍然没有实现加一的效果

2010-05-18 16:59:57

#7 jiayan41

回复 7 kth007


     运行错误:Call to undefined function runsql()

2010-05-18 17:39:54

#8 jiayan41

如何直接使用 runSql()  ?

2010-05-18 17:47:10

#9 azwl

$id = $this->spArgs("id")
spClass("lib_contents")->incrField(("id='.$id, 'count');

2010-05-18 18:28:14

#10 jake

回复  kth007


     运行错误:Call to undefined function runsql()
jiayan41 发表于 2010-5-18 17:39
是runSql(),不是runsql()

2010-05-18 18:39:14

#11 jiayan41

                        //实现产品浏览次数加一
                        $count = spClass("lib_contents");
                        $upconditions = array("id"=>$id);
                        $upcount = 'count';
                        $count->incrField($upconditions, $upcount, 1);
功能实现了,谢谢azwl

2010-05-18 19:57:58