修改数据库来实现dedecms全站文章收藏总数统计?
修改数据库来实现dedecms全站文章收藏总数统计?
1、新建数据库表 dede_stows ,我们以直接复制 dede_downloads 数据表为例
然后将 dede_downloads 中的 downloads 名称更改为 stows ,再将 hash 字段删除;
新建一个名称为title的字段:
类型:text
长度:252
整理:gbk_chinese_ci(你的网站编码,如果是utf-8,请选择utf-8)
空:否
额外:留空
2、打开 /plus/stow.php 文件,在最后的 ?> 字符前面添加如下代码:
//更新收藏次数
$title = ($arctitle);
$stows = 0;
$rs = $dsql->ExecuteNoneQuery2("UPDATE `dede_stows` SET stows = stows+1 WHERE title='$title' ");
if($rs <= 0)
{
$query = " INSERT INTO `dede_stows`(`title`, `id`, `stows`) VALUES('$title', '$id', 1); ";
$dsql->ExecNoneQuery($query);
}
3、新建一个 php 文件命名为 stows.php ,添加如下代码:
<?php
/*
* 收藏总次数统计
*/
require_once(dirname(__FILE__)."/../include/common.inc.php");
$aid = (isset($aid) && is_numeric($aid)) ? $aid : 0;
$row = $dsql->GetOne("SELECT SUM(stows) AS totals FROM `dede_stows` WHERE id='$aid' ");
if(empty($row['totals'])) $row['totals'] = 0;
echo "document.write('{$row['totals']}');";
exit();
4、在你需要显示统计的页面加入如下代码即可显示统计总次数:
<srcipt src="{dede:global name='cfg_phpurl'/}/stows.php?aid={dede:field name='id'/}" language="javasrcipt"></srcipt>
注意:
1、因为此方法涉及数据库操作,CMS集中营站长建议您在操作前做好数据库备份
2、以上代码中 dede_ 为默认的数据库表前缀,需修改为你自己的表前缀