mysql级联查询_PHP+MYSQL 多条件级联查询的解决思路和方法

第二步、条件拼接(重点):

这里我们需要用到一个数组$arr,为什么会用到数组呢? 我们考虑一下,在A、B、C三个参数没有默认值的情况下,也就是允许为空,那么如果B是空值B就不能参与最后的条件拼接,所以这里我们使用数组,能准确获得接收到的参数个数,剔除为空的参数。

$arr =array ();  // 创建一个新的数组

if(!empty($a)){

array_push($arr,$a);  // 如果参数a不为空,将其插入数组

}else if(!empty($b)){

array_push($arr,$b); // 如果参数b不为空,将其插入数组

}else if(!empty($c)){

array_push($arr,$c); // 如果参数c不为空,将其插入数组

}

到这里无论我们的数组里面有几个参数,这些参数都可以进行拼接了。

//通过FOREACH循环拼接条件语句

foreach($aa as $k => $v){

$vv = explode(",",$v);//将参数以逗号拆分,从而获得所对应的字段名称

if($k>0){

$tj .= " and $vv[0] = $vv[1] "; // 0为字段名 、1为参数值

}else{

$tj .= "where $vv[0] = $vv[1]";// 0为字段名 、1为参数值

}

}

?>

$tj变量的正确拼接结果为: where 字段n = 字段n的值 and 字段n = 字段n的值 and 字段n = 字段n的值

正是我们需要的条件语句,且该语句会伴随条件变化而变化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值