我有三个字段,即(城市名称 - 日期),我希望用户能够使用一个字段或两个字段或三个字段一起搜索。请,我需要一个最好的方法来做到这一点....我正在使用php codeigniter和mysql进行数据库。
答案 0 :(得分:2)
例如:
$sql = 'SELECT * FROM table_name WHERE 1=1 ';
if(isset($_POST['city']) && !empty($_POST['city']) )
$sql .= ' AND city LIKE "%'.$_POST['city'].'%" ';
每个要搜索的列或字段还有一个。
答案 1 :(得分:1)
您的SQL字符串应该是这样的:
SELECT * FROM tabel WHERE city LIKE '%".$city."%' OR name LIKE '%".$name."%' OR date LIKE '%".$date."%'
如果其中一个条件为真,则上面的查询将返回一行。 F.X.如果我在城市中键入“York”并在名称中键入“Alex”,它将返回“York”在城市单元格中的每一行(它将返回“纽约”,因为约克在该城市名称中)。但它也会以Alex的名义返回每一行。
如果您希望它只返回所有条件都为真的行,则需要输入“AND”而不是“OR”。