搜索

首页  >  问答  >  正文

php - 电商网站中的多条件筛选需求

用的thinkphp框架

$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>";
            
            
        }

我这样写的但是 并不能多条件多 多选查询 求大神 讲讲sql怎么写 最好tp的sql写法

世界只因有你世界只因有你2800 天前629

全部回复(3)我来回复

  • 给我你的怀抱

    给我你的怀抱2017-05-18 10:48:17

    多选框筛选其实我也没做过,但应该可以这样做:
    选了哪些品牌,就传ID过去,用‘,’分隔,然后后台做处理,把所有ID搞出来,
    再用in语法$where['brand_id'] = array('in',array($id1,$id2,));

    回复
    0
  • 高洛峰

    高洛峰2017-05-18 10:48:17

    我是不会 TP 语法,所以并不能写什么给你。
    一个条件下多选,在 sql 来说,就使用 in ,就可以了 in ,就可以了
    where brand IN ('a','b') AND fun IN('1','2') where brand IN ('a','b') AND fun IN('1','2')

    回复
    0
  • 过去多啦不再A梦

    过去多啦不再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手册没看全

    回复
    1
  • 取消回复