当我选中复选框时,我试图通过ajax获取优惠券列表。所以其他一切都运行正常,但查询只返回第一场比赛。
所以我的查询是:
$this->db->from('tbl_coupons');
if($storeids !=''){
$ids = array($storeids);
$this->db->where_in('coupon_store', $ids );
}
$this->db->where('coupon_cat', $catid);
$this->db->where('coupon_status', 'active');
$query = $this->db->get();
if ($query->num_rows() > 0) {
$ds = $query->result_array();}
根据这个,我的SQLquery变成了
SELECT * FROM `tbl_coupons` WHERE `coupon_store` IN('1,97') AND `coupon_cat` = '16' AND `coupon_status` = 'active'
但此查询返回coupon_store=1
的值,coupon_store=97
没有结果
我检查了该类别中存在的优惠券商店97的值。
答案 0 :(得分:2)
如果数据存在,则使用以下方式,它将成为查询的一部分。
storeids = explode(',',storeids);
$ids = array();
foreach($storeids as $val){
$ids[] = $val;
}
if(!empty($ids)){
$this->db->where_in('coupon_store', $ids );
}
希望它能创建正确的sql查询
答案 1 :(得分:0)
查询大多是正确的,除了第2行,您需要将更改改为:
WHERE coupon_store IN('1','97')
其他一切都保持不变。