今日看到有人提出想要按文章来源统计文章数量的功能,好长时间没人答复和解决,我也需要这个模块,所以拿[落梦天蝎(beluckly)]的文档统计插件自己搞了一个,请高手指点!
-------------------------------------------------------------------------------------------
以下是List_by_source_count.php内容:
<?php /*************************************** *织梦模板文档统计插件(按文章来源统计) *编写:wenchang(文昌) *原作:落梦天蝎(beluckly) *邮箱&MSN:lwc@tom.com *完成时间:2007-9-15 *插件功能:按照文章来源统计频道栏目的文档总数 *使用方法: 设置$reID(就是你想要统计的栏目id)的值,可以在本文档设置,也可以用list_by_source_count.php?reID=你想要统计的栏目id 这种格式 可以使用输出js格式调用,也可以直接自己定义输出格式 ***************************************/ require_once(dirname(__FILE__)."/../include/config_base.php"); //只在后台用,请注释上面的使用下面的语句,并把此文件放到你的后台管理文件下 //require_once(dirname(__FILE__)."/config.php"); $dsql = new DedeSql(false);
if(empty($reID)) { $reID=0; //你想要统计的主频道id }
//从文本文件中读取文章来源列表 { $m_file = dirname(__FILE__)."/inc/source.txt"; $allsources = file($m_file); foreach($allsources as $v){ $source = trim($v); if($source!="")
ListCount($reID,$source); //格式自己定义 echo "$source ----- ".$countall."<br>"; //echo "documnet.write("本频道文档总数:".$countall."<br>");rn"; $countall=0;} }
//递归获取下级所有总数 function ListCount($ID,$source) { global $dsql,$countall; $fid = $ID; $dsql->SetQuery("Select ID,reID,typedir,typename,ispart,sortrank,ishidden From xkzzz_arctype where reID='".$ID."' order by sortrank"); $dsql->Execute($fid); if($dsql->GetTotalRow($fid)>0) { while($row=$dsql->GetObject($fid)) { $ID = $row->ID; $ispart = $row->ispart;
//隐藏栏目就跳过,不统计 if($row->ishidden=='1') continue;
//是列表栏目就进行累加 if($ispart==0) { $dsql1=new DedeSql(false); $row = $dsql1->GetOne("Select count(ID) as dd From xkzzz_archives where typeid='".$ID."' and source='$source' "); $fcount=$row['dd']; $countall+=$fcount; } else { ListCount($ID); } } } else { //是列表栏目就进行累加 if($ispart==0) { $dsql1=new DedeSql(false); $row = $dsql1->GetOne("Select count(ID) as dd From xkzzz_archives where typeid='".$ID."' and source='$source' "); $fcount=$row['dd']; $countall+=$fcount; } } } ?>[/post] |
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!