typecho显示用户文章总数量 - QQ爹博客
QQ爹博客 QQ爹博客

typecho显示用户文章总数量

in Typecho 文章转载请注明来源!

之前写过类似文章《typecho 显示当前作者文章总数量》,但是实现方法明显不太好。所以今天写个函数来获取吧!

functions.php中加入如下函数

function allpostnum($id){
$db = Typecho_Db::get();
$postnum=$db->fetchRow($db->select(array('COUNT(authorId)'=>'allpostnum'))->from ('table.contents')->where ('table.contents.authorId=?',$id)->where('table.contents.type=?', 'post'));
$postnum = $postnum['allpostnum'];
return $postnum;
}

显示当前作者文章总数量调用代码如下(适用于post.php,author.php,或者index.phpwhile循环中等等)

<?php echo allpostnum($this->author->uid); ?>

显示特定uid作者文章总数量调用代码如下(适用于任意模板文件)

<?php echo allpostnum(1); ?>
//数字1改成对应作者的uid即可

之前不写函数是以因为我不会哈,昨天研究下数据库,发现这玩意没那么复杂,挺有趣的233!

代码解析

$db = Typecho_Db::get();
//获取数据库
$postnum=$db->fetchRow($db->select(array('COUNT(authorId)'=>'allpostnum'))->from ('table.contents')->where ('table.contents.authorId=?',$id)->where('table.contents.type=?', 'post'));
//按条件查询数据,将符合结果的条数生成一个数组
//print_r($postnum);取消注释可调试显示结果
$postnum = $postnum['allpostnum'];
//获取作者文章总数量
return $postnum;
//返回作者文章总数量,用return能够更加方便的处理事情

感谢
感谢远.山教我用COUNT语法直接可以返回符合结果的数量,提高代码效率!

jrotty WeChat Pay

微信打赏

jrotty Alipay

支付宝打赏

文章二维码

扫描二维码,在手机上阅读!

typecho数据库用户文章文章数量
发表新评论
  • ]
仅有 1 条评论
  1. LingC
    LingC MChrome 64
    回复

    刘明

前篇 后篇
雷姆
拉姆