在数据库中的多个字段中搜索

时间:2013-01-21 11:28:44

标签: php mysql database codeigniter search

我有三个字段,即(城市名称 - 日期),我希望用户能够使用一个字段或两个字段或三个字段一起搜索。请,我需要一个最好的方法来做到这一点....我正在使用php codeigniter和mysql进行数据库。

2 个答案:

答案 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”。