POST TIME:2020-03-28 16:45
今日看到有人提出想要按文章來源統(tǒng)計文章數(shù)量的功能,好長時間沒人答復(fù)和解決,我也需要這個模塊,所以拿[落夢天蝎(beluckly)]的文檔統(tǒng)計插件自己搞了一個,請高手指點!
-------------------------------------------------------------------------------------------
以下是List_by_source_count.php內(nèi)容:
<?php
/***************************************
*織夢模板文檔統(tǒng)計插件(按文章來源統(tǒng)計)
*編寫:wenchang(文昌)
*原作:落夢天蝎(beluckly)
*郵箱&MSN:lwc@tom.com
*完成時間:2007-9-15
*插件功能:按照文章來源統(tǒng)計頻道欄目的文檔總數(shù)
*使用方法:
設(shè)置$reID(就是你想要統(tǒng)計的欄目id)的值,可以在本文檔設(shè)置,也可以用list_by_source_count.php?reID=你想要統(tǒng)計的欄目id 這種格式
可以使用輸出js格式調(diào)用,也可以直接自己定義輸出格式
***************************************/
require_once(dirname(__FILE__)."/../include/config_base.php");
//只在后臺用,請注釋上面的使用下面的語句,并把此文件放到你的后臺管理文件下
//require_once(dirname(__FILE__)."/config.php");
$dsql = new DedeSql(false);
if(empty($reID))
{
$reID=0; //你想要統(tǒng)計的主頻道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(&;本頻道文檔總數(shù):".$countall."<br>&;); ";
$countall=0;}
}
//遞歸獲取下級所有總數(shù)
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;
//隱藏欄目就跳過,不統(tǒng)計
if($row->ishidden=='1')
continue;
//是列表欄目就進(jìn)行累加
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
{
//是列表欄目就進(jìn)行累加
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]