写的表单提交多条件搜索代码,感觉很繁琐,希望大家指导指导

浏览:100 发布日期:2019/09/11 分类:ThinkPHP5专区
/*思路如下:
功能:在同一个页面中,表单多条件提交,进行模糊查询数据
1、第一次点进页面的时候,判断是否有表单数据提交,如果没有,则显示全部;
2、防止用户在没输入条件的时候点击搜索按钮,定义$isempty遍历判断数组是否为空,唯恐则显示全部;
3、不为空的情况下判断单个条件是否为空,组成数组,使用where进行筛选;
*/
if(request()->isPost()){
$data = input('post.');
$isempty = true;
foreach ($data as $key => $value) {
if(!empty($value)){
$isempty = false;
break;
}
}
if($isempty){
$users = DB::name('users')->alias('a')
->join('department b','a.d_id = b.id','LEFT')
->field('a.*,b.name as dname')
->select();
$this->assign('users',$users);
return view();
}else{
if($data['uname']){
$wheres['username'] = ['like' , '%'.$data['uname'].'%'];
}
if($data['tel']){
$wheres['phone'] = ['like' , '%'.$data['tel'].'%' ];
}
$users = DB::name('users')->alias('a')
->join('department b','a.d_id = b.id','LEFT')
->field('a.*,b.name as dname')
->where($wheres)
->select();
$this->assign('users',$users);
return view();
}
}else{
$users = DB::name('users')->alias('a')
->join('department b','a.d_id = b.id','LEFT')
->field('a.*,b.name as dname')
->select();
$this->assign('users',$users);
return view();
}
最佳答案
评论( 相关
后面还有条评论,点击查看>>