搜尋

首頁  >  問答  >  主體

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寫法

世界只因有你世界只因有你2738 天前570

全部回覆(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
  • 取消回覆