Heim > Fragen und Antworten > Hauptteil
Verwendetes Thinkphp-Framework
$search=urldecode(I("search"));
$this->assign('search',$search);
if(!empty($_POST)){
//$condition = array();
$condition['goods_name']=array("like","%$search%");
//I('brand') ? $condition['brand_id'] = I('brand') : false;
if(I('brand')){
$condition['brand_id']=
}
//$condition['brand_id'] =80;
//I('func') ? $condition['func'] = I('func') : false;
//I('price') ? $condition['shop_price'] = I('price') : false;
var_dump($condition);
//$gList = M('Goods')->where($condition)->select();
//echo "<pre>";
//var_dump($gList);
//echo "</pre>";
}
Ich habe es so geschrieben, aber es kann keine Mehrfachauswahlabfrage mit mehreren Bedingungen sein. Bitte sagen Sie mir, wie man SQL am besten schreibt
给我你的怀抱2017-05-18 10:48:17
多选框筛选其实我也没做过,但应该可以这样做:
选了哪些品牌,就传ID过去,用‘,’分隔,然后后台做处理,把所有ID搞出来,
再用in语法$where['brand_id'] = array('in',array($id1,$id2,));
高洛峰2017-05-18 10:48:17
我是不会 TP 语法,所以并不能写什么给你。
一个条件下多选,在 sql 来说,就使用 in
,就可以了 where brand IN ('a','b') AND fun IN('1','2')
过去多啦不再A梦2017-05-18 10:48:17
多条件,你好好想想mysql里面多条件是什么 and。那么你用TP的时候,就申明一个$where=array();
$where['name']='test_name',
$where['age']='test_age'.....等等。后面直接 find($where)就可以了
$where['brand_id'] = array('in',array($id1,$id2,)); 还是你TP手册没看全