因为Sham写小程序时,需要在小程序端通过选择查询来从后端获取数据,由于有1个不同变量,想要通过1个mysql语句来实现,按以前,可能要写很多行if,else,今天Sham发现可以通过判断后拼接成数组,然后再转变成字符串来便捷实现,特此记录备忘。
以下面的为例,因为mysql查询时,多条件需要用过and连接,但是在无法判断是否有某个条件的时候,就得判断要不要加and了,这里是通过先往数组中push,然后再implode()来转变成用and连接的字符串,如果没有该条件时,也就不用加and了
$sql = "SELECT * FROM `mealorder`";
$sqls = [];
if($_POST['userid'] != '全部'){
array_push($sqls, "`userid` = '".$_POST['userid']."'");
}
if($_POST['mealstatus'] != '全部'){
array_push($sqls, "`status` = '".$_POST['mealstatus']."'");
}
if($_POST['mealtype'] != '全部'){
array_push($sqls,"`mealtype` = '".$_POST['mealtype']."'");
}
if($_POST['mealdate'] != '全部'){
array_push($sqls," `mealdate` = '".$_POST['mealdate']."'");
}
if(count($sqls)>0){
$sql .= 'where'.implode(' and ', $sqls);
}
$sql .= " order by `mealdate`,`id` DESC";
最新评论
您的行政服务小程序V2正好我们有需求,能否给个联系方式沟通下呢?谢谢!
想咨询楼主
牛逼的楼主 感谢分享 学习学习
public function UpdateDomainRecord($ip)这里会报错
学习学习
新生进来学习
目前正在找食堂报餐的小程序,看了下评论发现楼主真的是行政文员,真的太牛逼,让我不得不敬佩!我会一直关注着您的
感谢分享!这个举动真的太伟大了,我正愁着没有什么可以学习参考的了,最近有个项目也是类似的,真的是辛苦了,会一直持续关注您的!