今天做调度司机确认系统筛选功能时遇到了问题,问了java群大神,给出了解决方案,学到了很多:
若是用if else来做筛选判断的话,若筛选项多了,那么就要做很多次判断了,不能这样玩,于是大神给出了where 1=1、sql拼接的思路,感谢大神。
筛选终极解决方法,where 1=1 和sql拼接:
// 针对于筛选多了的问题,使用大神的sql拼接解决
// 大神的这个where 1=1真的是绝了,太棒了,简直就是屌爆了
// 不加where 1=1就读不通顺了
// 关键是这个where 1=1能想到真是太厉害了,好神奇
// where 1=1和sql拼接简直就是一对cp,天生一对
// 目的主要是给它一个true的真值,不然结合后面的拼接sql语法不通顺
$sql="select * from diaodu.drm_diaodu where 1=1";
if($zhuangtai!=""){
$sql=$sql." and 状态='$zhuangtai'";
}
if($siji!=""){
$sql=$sql." and 司机='$siji'";
}
$a=mysqli_query($mysqli_conn,$sql);