我是新来的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