Menggunakan kerangka 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>";
}
Saya menulisnya seperti ini, tetapi ia tidak boleh menjadi pertanyaan berbilang pilihan dengan berbilang syarat. Sila beritahu saya cara menulis sql
Malah, saya tidak pernah melakukan penapisan kotak berbilang pilihan, tetapi ia sepatutnya boleh dilakukan:
Jenama mana yang dipilih, hanya lulus ID, dipisahkan dengan ',', dan kemudian lakukan pemprosesan di latar belakang untuk mendapatkan semua ID Keluar,
dan kemudian gunakan dalam sintaks
$where['brand_id'] = array('in',array($id1,$id2,));
Saya tidak tahu tatabahasa TP, jadi saya tidak boleh menulis apa-apa kepada anda.
Berbilang pilihan di bawah satu syarat, dalam sql, hanya gunakan
in
, itu sahajain
,就可以了where brand IN ('a','b') AND fun IN('1','2')
di mana jenama IN ('a','b') DAN menyeronokkan IN(' 1','2')
Pelbagai syarat, fikirkan dengan teliti tentang apakah berbilang syarat dalam MySQL dan. Kemudian apabila anda menggunakan TP, isytiharkan $where=array();
$where['name']='test_name',
$where['age']='test_age'...dsb. Kemudian cari($where) terus
$where['brand_id'] = array('in',array($id1,$id2,)); Atau anda belum membaca manual TP penuh