自己写了一个小的留言板,上面有个统计阅览次数的项目,但是感觉好像不太对,SQL语句是我从phpAdmin中看着贴上去的,大家帮我看看有什么毛病么
// $viewNum = sprintf('UPDATE `ghw_01`.`ghw_forum_message_houses` SET `VIEWS` = '1' WHERE `ghw_forum_message_houses`.`MESSAGE_ID` =7 LIMIT 1 ;'); $result = mysql_query($query,$GLOBALS['DB']);
$row = mysql_fetch_array($result);
$viewNum = $row['VIEWS'] + 1; $viewSQL = sprintf('UPDATE %s SET `VIEWS` = %d WHERE %s `MESSAGE_ID` = %s LIMIT 1 ;',$fid,$viewNum,$fid,$_GET['msgid']);
echo $viewSQL;谢谢大家了
// $viewNum = sprintf('UPDATE `ghw_01`.`ghw_forum_message_houses` SET `VIEWS` = '1' WHERE `ghw_forum_message_houses`.`MESSAGE_ID` =7 LIMIT 1 ;'); $result = mysql_query($query,$GLOBALS['DB']);
$row = mysql_fetch_array($result);
$viewNum = $row['VIEWS'] + 1; $viewSQL = sprintf('UPDATE %s SET `VIEWS` = %d WHERE %s `MESSAGE_ID` = %s LIMIT 1 ;',$fid,$viewNum,$fid,$_GET['msgid']);
echo $viewSQL;谢谢大家了
直接执行UPDATE将阅览次数加一就可以了
我是这么写的,是不是忘了什么语句呢?
$viewSQL = sprintf('UPDATE %s SET `VIEWS` = `VIEWS` + 1 WHERE %s `MESSAGE_ID` = %s LIMIT 1;',$fid,$fid,$_GET['msgid']);
$result = mysql_query($viewSQL,$GLOBALS['DB']);其中 $fid 与 $_GET['msgid'] 分别是 GHW_FORUM_MESSAGE_HOUSES 与 7 内容上没问题,但是就是不见增加
整个的$viewSQL打印出来就是 UPDATE GHW_FORUM_MESSAGE_HOUSES SET `VIEWS` = `VIEWS` + 1 WHERE GHW_FORUM_MESSAGE_HOUSES `MESSAGE_ID` = 7 LIMIT 1;
你漏了个小数点,或者后面的WHERE语句里表名可以不加的
$result = mysql_query($viewSQL,$GLOBALS['DB']);
if( $result )
{
mysql_query("update table set hits=hits+1");
}