你將如何做一個mysql查詢,用戶可以從多個選項中進行選擇。 Fox示例我有一個用戶可以用來搜索房屋的表單。現在我有一個選擇框,您可以在這裏選擇是否需要房屋,公寓或其他任何東西。然後我有第二個箱子,你可以選擇你想要的房子或公寓的城市。也許另一個價格最高的房子。如何用多個WHERE子句執行MySQL查詢?
現在你將如何做MySQL查詢?我的問題是,我會這樣做: if($ _ POST [「house_type」]!= 0)$ select = mysql_query(「SELECT * FROM WHERE type ='」。$ _ POST [「house_type」] 。 「'」); } 但現在我只有這樣的情況,有人選擇了房屋類型,但沒有任何其他選項。那麼,我必須爲所選元素的每種可能組合做一個「if」嗎?
爲了強調我的問題:
if(!isset($_POST["house_type"])) {
if($_POST["something"] == 0) {
$search_select = @mysql_query("SELECT * FROM housedata WHERE something = $_POST["whatever"]);
}
elseif($_POST["something"] != 0) {
$search_select = @mysql_query("SELECT * FROM housedata something = $_POST["whatever"] AND somethingelse = 'whatever');
}
}
elseif(!isset($_POST["house_type"])) {
if($_POST["something"] == 0) {
$search_select = @mysql_query("SELECT * FROM housedata WHERE something = $_POST["whatever"]);
}
elseif($_POST["something"] != 0) {
$search_select = @mysql_query("SELECT * FROM housedata something = $_POST["whatever"] AND somethingelse = 'whatever');
}
}
現在想象一下,我有一個像10個或20個不同的選擇框,輸入域和複選框,我會根據什麼這些盒子和fiels和做一個MySQL查詢複選框已填充。這將是一個非常複雜,緩慢和可怕的代碼。那麼是否有可能做出如下的mysql查詢:
SELECT * FROM whatever WHERE house_data = '".$whatever."' AND (if(isset($_POST["something"])) { whatever = '".$whatever2."' } AND ...;
你明白我的意思了嗎?它的解釋有點複雜,但實際上它是一個非常重要的問題,可能很容易回答。
謝謝你的幫助! phpheini
Loop through and concat輸入所有選項? – 2011-02-23 15:42:35