帝国CMS自定义标签每月月份发布文章数的统计

兼容帝国原来的使用方法即网站信息统计标签[totaldata]使用方法一样 只是时间上0为所有时间不限制、1为今日、2为本月、3为本年(11表示本年1月,12表示本年二月,…,22表示本年12月) ,注意4-10不能用,否则出错。22以上的数字不予统计即全部为0

1、把下面的代码复制粘帖到e\class\userfun.php中<?php和?>间

//—————————自定义一个统计标签,兼容帝国原来的使用方法

//修改后的信息统计。$day参数11表示本年1月,12表示本年二月,…,22表示本年12月

function user_TotalData1($classid,$enews=0,$day=0,$totaltype=0){

        global $empire,$class_r,$class_zr,$dbtbpre,$fun_r,$class_tr;

        if(empty($classid))

        {

                return “”;

    }

        //统计类型

        if($totaltype==1)//评论数

        {

                $totalfield=’sum(plnum) as total’;

        }

        elseif($totaltype==2)//点击数

        {

                $totalfield=’sum(onclick) as total’;

        }

        elseif($totaltype==3)//下载数

        {

                $totalfield=’sum(totaldown) as total’;

        }

        else//信息数

        {

                $totalfield=’count(*) as total’;

        }

        if($day)

        {

                if($day==1)//今日信息

                {

                        $date=date(“Y-m-d”);

                        $starttime=$date.” 00:00:01″;

                        $endtime=$date.” 23:59:59″;

                }

                elseif($day==2)//本月信息

                {

                        $date=date(“Y-m”);

                        $starttime=$date.”-01 00:00:01″;

                        $endtime=$date.”-“.date(“t”).” 23:59:59″;

                }

                elseif($day==3)//本年信息

                {

                        $date=date(“Y”);

                        $starttime=$date.”-01-01 00:00:01″;

                        $endtime=($date+1).”-01-01 00:00:01″;

                }

                elseif($day>10)//本年某月信息

                {

                        $yue=$day-10;

                        $date=date(“Y”);

                        $starttime=$date.”-“.$yue.”-01 00:00:01″;

                        if($yue==12){$endtime=$date.”-“.$yue.”-31 23:59:59″;}else{$endtime=$date.”-“.($yue+1).”-01 00:00:01″;}

                }

                $and=” and newstime>=”.to_time($starttime).” and newstime<=”.to_time($endtime);

        }

        if($enews==1)//统计标题分类

        {

                if(empty($class_tr[$classid][tbname]))

                {

                        echo $fun_r[‘BqErrorTtid’].”=<b>”.$classid.”</b>”.$fun_r[‘BqErrorNtb’];

                        return “”;

                }

                $query=”select “.$totalfield.” from {$dbtbpre}ecms_”.$class_tr[$classid][tbname].” where ttid=’$classid'”.$and;

    }

        elseif($enews==2)//统计数据表

        {

                $query=”select “.$totalfield.” from {$dbtbpre}ecms_”.$classid.(empty($and)?”:’ where ‘.substr($and,5));

    }

        else//统计栏目数据

        {

                if(empty($class_r[$classid][tbname]))

                {

                        echo $fun_r[‘BqErrorCid’].”=<b>”.$classid.”</b>”.$fun_r[‘BqErrorNtb’];

                        return “”;

                }

                if($class_r[$classid][islast])//终极栏目

                {

                        $where=”classid=’$classid'”;

                }

                else//大栏目

                {

                        $where=ReturnClass($class_r[$classid][sonclass]);

                }

                $query=”select “.$totalfield.” from {$dbtbpre}ecms_”.$class_r[$classid][tbname].” where “.$where.$and;

    }

        $num=$empire->gettotal($query);

        echo $num;

}

?>

2、新建标签代码

  后台-模板-标签-标签管理-增加标签-增加内容如下:

  标签名:每月信息统计

  标签符号:TotalData1

  所属类别:    

  函数名:user_TotalData1

  标签格式:[totaldata]栏目ID,操作类型,时间范围,统计类型[/totaldata]

  标签说明:

操作类型说明:

操作类型           内容

   0          统计栏目数据

   1           统计标题分类

   2            统计数据表

时间范围:0为不限;1为今日;2为本月;3为本年。

统计类型:0为统计信息数;1为统计评论数;2为统计点击数;3为统计下载数。

如果操作类型是“统计数据表”,栏目ID=’数据表名’

[totaldata]栏目ID,操作类型,时间范围,统计类型[/totaldata]

新闻统计

[totaldata]2,0,3,0[/totaldata]

实用干货原创整理,转载请注明九九主题出处!本站所有资源均可以下载,qq一键登录购买SVIP更实惠,免注册扫码支付更方便。
九九主题 » 帝国CMS自定义标签每月月份发布文章数的统计