电脑技术学习

软件下载统计

admin

首先修改数据库
用phpmyadmin在数据库里执行以下sql

ALTER TABLE `dede_addonsoft` ADD `click` INT( 11 ) UNSIGNED NOT NULL DEFAULT '1' AFTER `softlinks` ;

这个语句用来在数据库里面添加一个字段,用来存储下载次数的数据,用dede系统的执行sql功能执行也可以,不一定非要用phpmyadmin,我是用dede系统执行的。

第二修改download.php文件

$row = $dsql->GetOne("Select $vname From ".$cu->ChannelInfos['addtable']." where aid='$aid'");
$downlinks = $cu->GetAddLinks($row[$vname]);
$dsql->Close();
$cu->Close();

下面添加




//下面是更新软件下载的点击数
$dsql2 = new DedeSql(false);
$dsql2->ExecuteNoneQuery("Update dede_addonsoft set click=click+1 where aid='$aid'");
//更新完毕
//下面是关闭数据库连接
$dsql2->Close();


保存退出
这一步是统计下载次数的,其实统计的并不是真正的下载次数,而是下载页面被打开的次数,不过也差不多了。


第三部

修改inc_channel_unit.php

改198行(如果你没修改这个文件的话 )

if($row['gotojump']==1) $links = $phppath."/download.php?open=1&link=".urlencode(base64_encode($links))."&aid=".$this->ArcID;


就是添加一个参数&aid=".$this->ArcID


我也不知道是什么意思,只是按照以前的人的说法照做了,那位研究一下起什么作用,或者就是没有意义的也说不定

第四部
添加showdlc.php文件到plus目录下
内容为

<?php
$__ONLYDB = true;
require_once(dirname(__FILE__)."/../include/config_base.php");

if(empty($aid)) $aid="0";
$aid = ereg_replace("[^0-9]","",$aid);
$dsql = new DedeSql(false);
if(!empty($view)){
$row = $dsql->GetOne("select click from dede_addonsoft where aid='$aid'");
echo "document.write('".$row[0]."');/r/n";
}
$dsql->Close();
exit();

?>

这个是用来显示下载次数的文件

在需要引用下载次数的地方显示计数器

<script src="{dede:field name='phpurl'/}/showdlc.php?view=yes&aid={dede:field name='ID'/}" language="javascript"></script>
这个是用来 调用上面的文件的,添加到模板里面就可以了,

官方原帖:http://bbs.dedecms.com/read.php?tid=33050&fpage=3