虽然前段时间作者写了多表查询,但作者自己也老是忘记,昨晚就为这个多表查询搞得头晕晕的。而且如果针对SQL有多个WHERE条件的话,就需要不同的语句:
以下是作者写的针对省市地区进行的AJAX进行请求地区筛选的模型:
public function getSettdataStoredata($data){
#– 这里$data为AJAX请求的GET数组
$sql=”SELECT * FROM “.PREFIX.”storedata s1 LEFT JOIN “.PREFIX.”settdata s2
ON(s1.store_id = s2.store_id) WHERE s2.key=’zone_id’ AND s2.value='”.$data[‘zone_id’].”‘”;
#– 因为请求中必须会包含zone,也就是最少会有个省份的筛选,生成初始SQL语句关联storedata和settdata两个表
if (isset($data[‘city_id’]) && !empty($data[‘city_id’])){
$sql .=” AND s1.city_id= ‘”.(int)$data[‘city_id’].”‘”;
}
#– 如果AJAX请求中包含有城市参数,SQL语句进行组合
if(isset($data[‘diqu_id’]) && !empty($data[‘adder_id’])){
$sql .=” AND s1.adder_id = ‘”.(int)$data[‘adder_id’].”‘”;
}
#- 如果AJAX请求中包含有城市的详细地区筛选,SQL再次进行组合
$query=$pdo->query($sql);
return $query->fetchAll();
}
关于作者