-1

我有三个字段,即(城市 - 名称 - 日期),我想让用户使用一个字段或两个字段或三个字段一起搜索。拜托,我需要一个最好的方法来做到这一点....我正在使用 php codeigniter 和 mysql 作为数据库。

4

2 回答 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 回答