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(); 檢測變量是否為空


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM