织梦CMS获取问答中问题的数量函数get_total()
返回值:数组
位置:/ask/model/mquestion.php
在织梦问答系统里面分为未解决的问题和已经解决的问题,也就是当会员发布问题后会在问题表dede_ask的status字段里面有设置为零,即刚发布的问题为未解决的,其它情况表示已经解决的问题。在问答前台会要获取已解决的和未解决的问题,所以,需要编写一个函数来获取未解决的问题和已经解决的问题数量,也就是本教程里面讲的这个函数,分析到这里相信这个问题就容易了。
我们把获取到的未解决的和已经解决的问题分别存储到数组$data里面的键solving和solved里面,所以,先定义一个空数组:
<span style="font-family:tahoma,geneva,sans-serif;"> $data['solving'] = 0; //未解决的问题数
$data['solved'] = 0; //已解决的问题数
</span>
然后,查询数据库表dede_ask:
<span style="font-family:tahoma,geneva,sans-serif;">$query = "SELECT status,COUNT(status) AS dd FROM `dede_ask` GROUP BY status ";</span>
如果status值为零的将存储到数组 $data['solving']里面,否则,存储到 $data['solved']里面
<span style="font-family:tahoma,geneva,sans-serif;"> $this->dsql->Execute('me',$query);
while($tmparr = $this->dsql->GetArray())
{
if($tmparr['status']==0)
{
$data['solving'] = $tmparr['dd'];
}else{
$data['solved'] += $tmparr['dd'];
}
}</span>
最后,返回数组:
<span style="font-family:tahoma,geneva,sans-serif;">$data</span>