各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > dedecms

按文章来源统计文章数量

管理员 2014-08-31
dedecms
115

今日看到有人提出想要按文章来源统计文章数量的功能,好长时间没人答复和解决,我也需要这个模块,所以拿[落梦天蝎(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]
 

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关推荐

扫码关注

qrcode

QQ交谈

回顶部