MySQL一个类型多个字段条件处理判断

$filter = $data['filter'];//客户端传过来的字段值  类型字符串,例如:1,2,3
$arrayFilter = explode(',',$filter); //把字符串转化为数组
$auction = []; //定义一个数组,因为后面1,2的类型是一个字段条件查询
foreach($arrayFilter as $k=>$v){ //不管是哪一种组合都进相对于的条件
if($v ==1){$auction[$k] = 1;}
elseif($v ==2){$auction[$k] = 0;}
elseif($v ==3){$where['over_time'] = ['lt',date('Y-m-d H:i:s',time())];} //对时间条件查询
else{}
}

if(!empty($auction)){ //非空判断
$where['is_auction'] = ['in',implode(',',$auction)]; //给不同类型数据库不同字段进行条件处理
}


思路:
  把字符串转换成数组,再进行遍历,判断出对应的类型并在处理类型对应的判断,对同种类型用一个变量接收再进行处理

用到过的函数
  explode(); 将字符串转换数组
implode(); 将数组分解成字符串
  empty(); 检测变量是否为空

猜你喜欢

转载自www.cnblogs.com/liuzheyan/p/13182318.html
今日推荐