typecho宣布一篇文章,然后只勾选子分类,然后宣布。
父分类输出分类的文章数目,并没有包括这个新宣布的文章。
于是乎,垃圾博主啊用了点时候(一个半小时)写出了个函数,来处置惩罚这个问题
function fenleinum($id){$db = Typecho_Db::get();$po=$db->select('table.metas.count')->from ('table.metas')->where ('parent = ?', $id)->orWhere('mid = ? ', $id);$pom = $db->fetchAll($po);$num = count($pom);$shu = 0;for ($x=0; $x<$num; $x++) {$shu=$pom[$x]['count']+$shu;}echo $shu;}
前台挪用,能够在分类列表轮回中输入下面代码,分类mid须要依据本身的代码自填
<?php fenleinum(分类mid); ?>
道理,首先上一张数据库截图
parent即是0的分类就是父分类,为x(x代表非零整数)的为mid即是x的分类的子分类
count列则是分类的文章总数目
如许我们就能够依据规律举行查询计算了
比方:
我们要查询mid=1的分类文章数目包括当前分类及旗下的子分类?
处置惩罚:
搜刮查询parent即是1的行和mid即是1的行
然后读取每行count的值
末了经由过程for轮回将搜刮到的行的count值想加,输出。
额,由于是渣渣博主,一切要领大概不太高雅,用数据库语句将查询效果列相加比较好,然则博主不会,只好用for轮回啦。

评论列表