/*首页显示五条数据排序函数*/
public function remenwenti(){
$remenwenti = M('AqWen')->order('id desc')->select();
foreach ($remenwenti as $key => $value) {
$num = M('AqDa')->where(array('wen_id'=>$value['id']))->count();
$remenwenti[$key]['num'] = $num;
$remenwenti[$key]['tag'] = explode(",",$value['tag']);
}
$remenlist = remenpaixu($remenwenti, 'num');//热门排序处理
$this->remenwenti = array_slice($remenlist,0,5);//问答栏目首页热门显示5条处理
}
/*列表页分页排序处理*/
public function remenliebiao(){
$remenwenti = M('AqWen');
$count = $remenwenti->field(true)->count();// 查询满足要求的总记录数
$Page = new \Think\Page($count,50);// 实例化分页类 传入总记录数和每页显示的记录数(25)
$show = $Page->show();// 分页显示输出
// 进行分页数据查询 注意limit方法的参数要使用Page类的属性
$list = $remenwenti->field(true)->order('id desc')->limit($Page->firstRow.','.$Page->listRows)->select();
foreach ($list as $key => $value) {
$num = M('AqDa')->where(array('wen_id'=>$value['id']))->count();
$list[$key]['num'] = $num;
}
$remenlist = remenpaixu($list, 'num');//热门排序处理
$this->assign('wenDaList',$remenlist);// 赋值数据集
$this->assign('page',$show);// 赋值分页输出
$this->display();
}
/*数值字段排序处理函数*/
function remenpaixu($arr,$field){
$sort = array(
'direction' => 'SORT_DESC', //排序顺序标志 SORT_DESC 降序; SORT_ASC 升序
'field' => $field, //排序字段
);
$arrSort = array();
foreach($arr as $uniqid => $row){
foreach($row as $key=>$value){
$arrSort[$key][$uniqid] = $value;
}
}
if($sort['direction']){
array_multisort($arrSort[$sort['field']], constant($sort['direction']), $arr);
}
return $arr;
}