我有一个搜索功能,可以从 db 表中按不同的条件进行搜索。这是带有一些数据的表格字段
id first_name last_name Province_id 1 阿里阿里 2,12 2 艾哈迈德艾哈迈迪 22,1,4
一个人可以在不同的省份,并且它保存在以“,”分隔的表格中,在省字段中,我知道它没有标准化。我使用跟随功能进行搜索
$WHERE_ARR = array();
if(trim($first_name)!=""){
$WHERE_ARR['first_name'] = " p.first_name like '%".$first_name."%' ";
}
if(trim($last_name)!=""){
$WHERE_ARR['last_name'] = " p.last_name like '%".$last_name."%' ";
}
if(trim($province)!=""){
$WHERE_ARR['province'] = " p.province_id = ".$province." ";
}
$WHERE_STR = implode(' AND ', $WHERE_ARR);
$WHERE_STR = (trim($WHERE_STR)!="")?" AND " . $WHERE_STR:'';
$QUERY = "
SELECT p.*,pr.province
FROM ndi_participants p,ndi_provinces pr
WHERE pr.province_id = p.province_id
". $WHERE_STR . "
ORDER BY pr.province ASC
LIMIT ".$start.", " . $perpage . "
";
return $this->db->query($QUERY);
当我按省字段搜索时,肯定不准确。当它是用“,”分隔的多值时,我如何按省字段搜索
注意:我正在使用codeigniter
谢谢你的帮助