recherche

Maison  >  Questions et réponses  >  le corps du texte

php - Exigences de filtrage multi-conditions dans les sites de commerce électronique

Utilisation du framework 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>";
            
            
        }

Je l'ai écrit comme ça, mais il ne peut pas s'agir d'une requête à sélection multiple avec plusieurs conditions. Veuillez me dire comment écrire SQL. La meilleure façon d'écrire tp sql

.
世界只因有你世界只因有你2738 Il y a quelques jours568

répondre à tous(3)je répondrai

  • 给我你的怀抱

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

    En fait, je n'ai jamais fait de filtrage par cases à sélection multiple, mais il devrait être possible de faire ceci :
    Quelle marque est sélectionnée, il suffit de transmettre l'ID, séparé par ',', puis de faire le traitement en arrière-plan pour tout obtenir les identifiants,
    puis utilisez-les dans la grammaire $where['brand_id'] = array('in',array($id1,$id2,));

    répondre
    0
  • 高洛峰

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

    Je ne connais pas la grammaire TP, donc je ne peux rien vous écrire.
    Sélections multiples sous une seule condition, en SQL, utilisez simplement in, c'est toutin ,就可以了
    where brand IN ('a','b') AND fun IN('1','2') où brand IN ('a','b') AND fun IN('1', '2' )

    répondre
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-18 10:48:17

    Conditions multiples, réfléchissez bien à ce que sont les multi-conditions dans MySQL et. Ensuite, lorsque vous utilisez TP, déclarez un $where=array();
    $where['name']='test_name',
    $where['age']='test_age'...etc. Ensuite, trouvez simplement ($where) directement
    $where['brand_id'] = array('in',array($id1,$id2,)); Ou vous n'avez pas lu l'intégralité du manuel TP

    répondre
    1
  • Annulerrépondre