我是新來的PHP,我有一個問題。多個下拉菜單查詢結果,當離開空
我有三個下拉菜單來排序結果,但我想這樣做,如果他們不選擇任何默認值是一個SELECT * FROM餐廳,並且如果只有一個下拉菜單被選中只考慮該字段。
<form id="form" name="vicinity" method="post" action="restaurant-list.php">
<select class="form-banner" size="1" id="vicinity" name="vicinity">
<option value=""> Select one </option>
<option value="Back Bay">Back Bay</option>
<option value="Beacon Hill">Beacon Hill</option>
<option value="Chinatown">Chinatown</option>
</select><br><br>
<p class="font-2">Search by Cuisines</p>
<select class="form-banner" size="1" id="cuisine" name="cuisine">
<option value=""> Select one </option>
<option value="American">American</option>
<option value="Chinese">Chinese</option>
<option value="Indian">Indian</option>
</select><br><br>
<p class="font-2">Search by Price</p>
<select class="form-banner" size="1" id="price" name="price">
<option value=""> Select one </option>
<option value="$">$ - Cheap</option>
<option value="$$">$$ - Moderate</option>
<option value="$$$">$$$ - Pricey</option>
</select><br><br>
<input type="submit" id="banner-search" value="Search"/>
</form>
餐廳頁面(當前僅在所有字段被選中時才起作用)如果一個留白沒有顯示。
<?php
require ("db.php");
$vicinity = $_POST["vicinity"];
$cuisine = $_POST["cuisine"];
$price = $_POST["price"];
$query = "SELECT * FROM restaurant WHERE vicinity=\"$vicinity\" AND cuisine=\"$cuisine\" AND price=\"$price\"";
$result = mysql_query($query);
?>
任何幫助或想法我怎麼能做到這一點。
我知道你只是一個初學者,但你也可以正確地開始。不要在你的代碼中編寫你的sql代碼。您將很容易受到http://en.wikipedia.org/wiki/SQL_injection的影響。你需要的是一個存儲過程 – 2012-07-26 21:19:04