2012-06-13 45 views
0

我已經做了一些尋找,但說實話我只是不知道究竟要搜索什麼。我試圖做的是創建一個動態查詢,正如tittle所說的。也就是說,我只查詢發送給php文件的變量。例如,如果我想查找用戶,但是我只知道他們的姓和用戶名,但是對於另一個用戶,我知道他的名字和電子郵件。我想爲搜索表單提供很多字段,並根據輸入的字段創建查詢。結合isset()與mysql查詢來創建動態查詢

+1

[生成基於URL參數的SQL查詢](http://stackoverflow.com/questions/6921077/generating-sql-query-based-on-url-parameters)和[...](http ://www.google.com/search q =站點:stackoverflow.com + PHP%20mysql%20query%20conditions%20on%20url%20parameters) – mario

回答

2

先建立一個WHERE子句列表,然後將這些添加到您的查詢中。例如:

$where = ""; 

if (isset($firstname) { 
    $firstname = mysql_real_escape_string($firstname); 
    $where .= "AND firstname='$firstname'"; 
} 

if (isset($lastname) { 
    $firstname = mysql_real_escape_string($lastname); 
    $where .= "AND lastname='$lastname'"; 
} 

mysql_query("SELECT * FROM users WHERE 1 ".$whereClause); 

當然,你將需要更改表/行/等名稱,並添加額外if (isset部分爲每個屬性。