Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[疑问] 资讯的浏览次数能像模型浏览次数那样即时更新么

[复制链接]
xzysmiracle 发表于 2010-8-15 20:53:17 | 显示全部楼层 |阅读模式
我发现了一个问题,就是模型的浏览次数,你刷新一次页面就更新一次,而资讯的浏览次数是采用了缓存机制,刷新了页面,要执行后台 计划任务中的“更新信息查看数“才会显示更新,想问下,能不能把资讯的浏览次数显示改改,改成即时更新的?
windflaw 发表于 2010-8-16 08:54:13 | 显示全部楼层
可以,后台设置,系统设置-》其他管理-》是否开启防刷新
回复

使用道具 举报

危险的蘑菇 发表于 2010-8-16 11:23:24 | 显示全部楼层
本帖最后由 危险的蘑菇 于 2010-8-16 11:33 编辑

回复 windflaw 的帖子

common.func.php中
  1. function updateviewnum($itemid) {
  2.         global $_SGLOBAL;

  3.         $logfile = S_ROOT.'./log/viewcount.log';
  4.         if(@$fp = fopen($logfile, 'a+')) {
  5.                 fwrite($fp, $itemid."\n");
  6.                 fclose($fp);
  7.                 @chmod($logfile, 0777);
  8.         } else {
  9.                 $_SGLOBAL['db']->query('UPDATE '.tname('spaceitems').' SET viewnum=viewnum+1 WHERE itemid=\''.$itemid.'\'');
  10.         }
  11. }
复制代码
只有当viewcount.log文件无法打开时,才会动态刷新数据库字段,所以楼主可以修改此函数为
  1. function updateviewnum($itemid) {
  2.         global $_SGLOBAL;
  3.         $_SGLOBAL['db']->query('UPDATE '.tname('spaceitems').' SET viewnum=viewnum+1 WHERE itemid=\''.$itemid.'\'');
  4. }
复制代码
另外页面必须为动态程序,开启静态化后无效

    开启静态化后解决方法:http://www.365coding.com/html/10/n-410.html
回复

使用道具 举报

 楼主| xzysmiracle 发表于 2010-8-17 00:25:05 | 显示全部楼层
谢谢蘑菇,问题解决了!
不过需要修改的文件是在news.func.php中 (版本是7.5)
还有就是根目录下的viewnews.php中
//更新统计数
$isupdate = freshcookie($itemid);
if($isupdate || !$_SCONFIG['updateview']) updateviewnum($itemid);

改成
//更新统计数
//$isupdate = freshcookie($itemid);
//if($isupdate || !$_SCONFIG['updateview']) updateviewnum($itemid);
不然浏览次数会+2,再次感谢蘑菇!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-16 00:36 , Processed in 0.023640 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表