zblog因为主题模板的差异性,在我们制作或者修改的过程中可能会遇到想要调用文章总数、页面总数等相关数据的统计信息,然我在zblog后台首页发现“网站信息”中也有相关数据信息的调用,于是我在百度中研究了一下,发现大概有以下几种方案可行,代码如下:

ZblogPHP调用文章总数、阅读总数、标签总数、评论总数等相关代码 第1张

方案1

function linchen_GetCount($total) {
    global $zbp;
    //文章数量{linchen_GetCount('wenzhan')}
    if ($total == 'wenzhan')
        $s = $zbp->db->sql->Count(
        $zbp->table['Post'],
        array(array('COUNT', 'log_ID', 'num')),
        array(array('=', 'log_Type', 0),  array('=', 'log_Status', 0))
    );
    //获取总共评论的数量{linchen_GetCount('pinglun')} √
    if ($total == 'pinglun')
        $s = $zbp->db->sql->Count(
        $zbp->table['Comment'],
        array(array('COUNT', 'comm_ID', 'num')),
        array(array('=', 'comm_IsChecking', 0))
    );
    //获取标签数量{linchen_GetCount('biaoqian')} √
    if ($total == 'biaoqian')
        $s = $zbp->db->sql->Count(
        $zbp->table['Tag'],
        array(array('COUNT', 'tag_ID', 'num')),
        null
    );
    //获取置顶数量{linchen_GetCount('zhiding')}
    if ($total == 'zhiding')
        $s = $zbp->db->sql->Count(
        $zbp->table['Post'],
        array(array('COUNT', 'log_ID', 'num')),
        array(array('=', 'log_Type', 0), array('=', 'log_IsTop', 1),array('=', 'log_Status', 0))
    );
    $s = GetValueInArrayByCurrent($zbp->db->Query($s), 'num');
    return $s;
}

方案2

{$zbp->cache->all_article_nums} //获取文章总数
{$zbp->cache->all_page_nums} //获取页面总数
{$zbp->cache->all_tag_nums} //获取标签总数
{$zbp->cache->all_view_nums} //获取浏览总数
{$zbp->cache->all_comment_nums} //获取评论总数

方案3

function linchen_all_views() {
    //总访问量
    global $zbp;
    $all_views = GetValueInArrayByCurrent($zbp->db->Query('SELECT SUM(log_ViewNums) AS num FROM ' . $GLOBALS['table']['Post']), 'num');
    return $all_views;
}
    function linchen_all_artiles() {
    //文章总数
    global $zbp;
    $all_artiles = GetValueInArrayByCurrent($zbp->db->Query('SELECT COUNT(*) AS num FROM ' . $GLOBALS['table']['Post'] . ' WHERE log_Type=\'0\''), 'num');
    return $all_artiles;
}
function linchen_all_comments() {
    //评论总数
    global $zbp;
    $all_comments = $zbp->cache->all_comment_nums;
    return $all_comments;
}