后台列表多条件搜索如何实现_服务端

我们在做网站后台列表页时,经常会用到各种条件的搜索,下面讲下技术上如何实现这个功能

表单部分

<form>
	用户ID:<input type="text" name="user_id" >
	用户昵称:<input type="text" name="nickname" >
	手机号:<input type="text" name="mobile" >
	性别:
		<select name="sex">
		<option value="1">男</option>
		<option value="2">女</option>
		</select>
	注册时间:<input type="text" name="register_time" >
</form>

逻辑部分

  • 服务端接受这些条件参数
  • 判断每个参数是否有值,如果有值就拼接到搜索条件中
  • 最后得到一个最终的sql语句,然后执行
$sql = "where 1=1"

if($user_id){
  $sql .=" and user_id=".$user_id
}

if($nickname){
  $sql .=" and nickname like '%".$nickname."%'"
}

if($mobile){
  $sql .=" and mobile='".$mobile."'"
}

if($sex){
  $sql .=" and sex=".$sex
}

if($register_time){
  $sql .=" and register_time='".$register_time."'"
}

$sql = "select * from people ".$sql