Day 2691 PHPCMS v9 自导入数据不统计点击数

我还在苦那啥地写网站……

这个网站有不少用自写SQL从外部导入的数据,过程中遇到很多问题,其中一个就是这些自行导入的数据无法统计点击数。经查证得知,PHPCMS v9统计点击数是通过调用名为count的API进行的:

$db = pc_base::load_model('hits_model');
if($_GET['modelid'] && $_GET['id']) {
...
$hitsid = 'c-'.$modelid.'-'.intval($_GET['id']);
$r = get_count($hitsid);
if(!$r) exit;

其中最后一句很关键,意思是如果找不到点击数的记录就直接exit,于是这些可怜的自导入数据就失去了被统计的权利。

解决方法:自己写SQL为没有统计记录的条目们建立记录,可参照如下查询进行写入:

INSERT IGNORE INTO `[$db_prefix]_hits` (`hitsid`) SELECT CONCAT('c-[$modelid]-',`id`) FROM `[$db_prefix]_[$source_model_table]`;

其中的$db_prefix、$modelid、$source_model_table需自行按实际情况进行替换,IGNORE的意思是跳过已有记录。

注:所有评论将在审核通过后显示,请不要在评论内容的任何位置出现链接,否则您的评论将被自动移入回收站,且永远不会被复审。

All comments will be available after being manually reviewed, please do not include any links anywhere in your comment, otherwise your comment will be automatically deleted and are not eligible for review.

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注