今天项目遇到了一个很有意思的问题:
就是一个搜索框,我们有6个搜索项目,
然后需要实现1个查询,2个查询,3个。。。一直到6个查询为止
开始我直接一眼的思路就是用N多的if()
$info = $_POST;
if(isset($info['xxx'])){
$sql = "select * from tablename where xxxx";
}else if(isset($info['xxxx'])){
}
......
?>
这大概要写6*5*4*3*2*1个if()
然后找了一下资料,发现可以这么写
$info = I('post.');
//根据条件写判断
$sql = "select * from ordertable where 1=1";
if($info['warehouse']){
$sql = $sql." and MarketId = ".$info['warehouse'];
}
if($info['Createtime']){
$sql = $sql." and Createtime = ".$info['Createtime'];
}
if($info['Paytime']){
$sql = $sql." and Paytime = ".$info['Paytime'];
}
if($info['Paystatus']){
$sql = $sql." and Paystatus = ".$info['Paystatus'];
}
if($info['orderNum']){
$sql = $sql." and orderNum = ".$info['orderNum'];
}
if($info['Product']){
$sql = $sql." and Product = ".$info['Product'];
}
?>