2013-01-21 96 views
-1

我有三個字段(城市名稱 - 日期),我想讓用戶可以使用一個字段或兩個字段或三個字段一起搜索。請,我需要一個最好的方式來做到這一點....我使用PHP codeigniter和MySQL數據庫。在數據庫中的多個字段中搜索

+3

告訴我們你做了什麼。 –

+0

我需要邏輯和最好的方式來做到這一點,任何有關搜索數據海 –

回答

2

例:

$sql = 'SELECT * FROM table_name WHERE 1=1 '; 
if(isset($_POST['city']) && !empty($_POST['city'])) 
    $sql .= ' AND city LIKE "%'.$_POST['city'].'%" '; 

還有一爲每列或字段進行搜索。

1

你的SQL字符串應該是沿着這樣的:

SELECT * FROM tabel WHERE city LIKE '%".$city."%' OR name LIKE '%".$name."%' OR date LIKE '%".$date."%' 

上面的查詢將返回一行,如果標準之一是真實的。 F.X.如果我在城市中輸入「York」並輸入名稱「Alex」,它將返回城市單元格中「York」的每一行(由於約克在該城市名稱中,它將返回「紐約」)。但它也會以名字中的Alex返回每一行。

如果您希望它只返回所有條件爲true的行,則需要放置「AND」而不是「OR」。