我有三个字段,即(城市 - 名称 - 日期),我想让用户使用一个字段或两个字段或三个字段一起搜索。拜托,我需要一个最好的方法来做到这一点....我正在使用 php codeigniter 和 mysql 作为数据库。
问问题
131 次
2 回答
2
Ex:
$sql = 'SELECT * FROM table_name WHERE 1=1 ';
if(isset($_POST['city']) && !empty($_POST['city']) )
$sql .= ' AND city LIKE "%'.$_POST['city'].'%" ';
And one more for each column or field to search.
于 2013-01-21T11:46:51.660 回答
1
你的 SQL 字符串应该是这样的:
SELECT * FROM tabel WHERE city LIKE '%".$city."%' OR name LIKE '%".$name."%' OR date LIKE '%".$date."%'
如果条件之一为真,上述查询将返回一行。Fx 如果我在 city 中输入“York”,在名称中输入“Alex”,它将返回“York”在城市单元格中的每一行(它将返回“New York”,因为 York 在该城市名称中)。但它也会返回名称中包含 Alex 的每一行。
如果您希望它只返回所有条件都为真的行,您需要输入“AND”而不是“OR”。
于 2013-01-21T11:47:50.257 回答