本人在实际开发中,根据产品经理需求,在iwebshop框架原有的后台订单筛选功能里增加商户名称模糊筛选!


开发思路:首先要明白筛选的数据在数据库中的位置,对要筛选的字段进行模糊查询!


开发主要注意:因为iwebshop后台订单筛选功能是写在封装好的一个类下面 order/order_class.php里面,所以sql查询后的遍历和sql本身的条件,一定要注意书写正确!


实际开发书写代码思路讲解:

if(isset($search['name'])&&isset($search['keywords'])){$name=IFilter::act($search['name'],'string');$keywords=IFilter::act($search['keywords'],'string');if($name&&$keywords){switch($name){case"seller_name":{//执行查询订单管理商户名称$sellerObj=newIQuery('seller');$sellerObj->where="true_namelike'%".$keywords."%'";$sellerRow=$sellerObj->find();$sellerArray=[];//遍历开始foreach($sellerRowas$key=>$val){$sellerArray[]=$val['id'];}//因为涉及到单个模糊查询和多个模糊条件if(is_array($sellerArray)){$where.=$sellerRow?"ando.seller_idin(".join(',',$sellerArray).")":"andnull";}else{$where.=$sellerRow?"ando.seller_id=".$sellerArray[0]:"andnull";}}break;default:$where.="ando.".$name."='".$keywords."'";break;}}}