您的位置:首页 > 编程语言 > PHP开发

thinkphp条件查询和模糊查询的一些方法

2014-08-15 13:50 429 查看
#文章管理
public function adminArticle(){
$adminArticle=M("article");
$arr_seach=$this->seach($adminArticle,10,"篇文章","now desc","");//参数格式seach($db,$num,$page_header,$order,$where)
##按最早排序
if(!@empty($_POST['time'])){
$arr_seach=$this->seach($adminArticle,10,"篇文章","now asc","");
}
##按作者查询
if(!@empty($_POST['author'])){
$arr_seach=$this->seach($adminArticle,10,"篇文章","now desc","author='{$_POST['author']}'");
}
##按标签查询
if(!@empty($_POST['classify'])){
$arr_seach=$this->seach($adminArticle,10,"篇文章","now desc","classify='{$_POST['classify']}'");
}
##模糊查询
if(!@empty($_POST['seach'])){
$map['title'] =array('like',"%{$_POST['seach']}%",'or');
$arr_seach=$this->seach($adminArticle,10,"篇文章","now desc",$map);
}
##输出到view
$selectArticle=$arr_seach['selectArticle'];
$show=$arr_seach['show'];
$arr_index=array(
"selectArticle"=>$selectArticle,
"page"=>$show
);
$this->assign($arr_index);
$this->display();
}
##一个查询方法
public function seach($db,$num,$page_header,$order,$where){
$count = $db->where($where)->count();//
$Page       = new \Think\Page($count,$num);// 实例化分页类 传入总记录数和每页显示的记录数(25)
if($page_header==false){
$Page->setConfig("header","");
}else{
$Page->setConfig("header","<span class='rows'>共 %TOTAL_ROW% ".$page_header."</span>");
}
$show       = $Page->show();// 分页显示输出

$selectArticle=$db->order($order)->where($where)->limit($Page->firstRow.','.$Page->listRows)->select();

return $arr_page = array(
"show"=>$show,
"Page"=>$Page,
"selectArticle"=>$selectArticle,
);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: