0
我有一個搜索區域,其中包含3個字段,一個是輸入字段,另外兩個是下拉菜單。要麼有人在輸入字段中輸入內容,要麼從下拉列表中選擇(州和城市)。從選擇菜單查詢的多個選項
輸入搜索工作正常。選擇菜單不。
這裏是表格。
<form name="ffl_finder" method="get" action="index.php">
Enter a Zip Code to find a Firearms Dealer near you: <br />
<input name="q" type="text" id="q" size="40">
Select a State AND a City<br />
<select name="qoption2">
<option value="" selected="selected">Select . . .</option>
<?php
$sql2 = "SELECT DISTINCT state from ffl_list order by state asc";
$rs_results2 = mysql_query($sql2) or die(mysql_error());
while ($rrows2 = mysql_fetch_array($rs_results2)) {
?>
<option value="<?php echo $rrows2[state]; ?>"><?php echo $rrows2[state]; ?></option>
<?php
}
?>
</select>
<select name="qoption3">
<option value="" selected="selected">Select . . .</option>
<?php
$sql3 = "SELECT DISTINCT city from ffl_list order by city asc";
$rs_results3 = mysql_query($sql3) or die(mysql_error());
while ($rrows3 = mysql_fetch_array($rs_results3)) {
?>
<option value="<?php echo $rrows3[city]; ?>"><?php echo $rrows3[city]; ?></option>
<?php
}
?>
</select>
<input name="doSearch" type="submit" id="doSearch" value="Search">
</form>
下面是該查詢:
<?php if ($get['doSearch'] == 'Search') {
//$cond2 = '';
if($get['qoption2'] != '') {
$cond2 = "`state` = 'qoption2'";
}
//$cond3 = '';
if($get['qoption3'] != '') {
$cond3 = "`city` = 'qoption3'";
}
if($get['q'] == '') {
$sql = "select * from ffl_list where $cond2 and $cond3 order by state asc, city asc";
}
else {
$sql = "select * from ffl_list where `zip` = '$_REQUEST[q]' ORDER BY `id` asc";
}
$rs_results = mysql_query($sql) or die(mysql_error());
} ?>
我需要查詢搜索城市和狀態,我似乎無法得到正確的條件。我知道這是很多代碼,但如果有人可以幫助,這將是偉大的。
感謝,
克林特
十分感謝!關於如何製作城市列表的任何想法都只能從選擇的狀態中顯示出來? – 2013-05-12 20:37:42
如果您想要更改城市列表的狀態選擇更改,則必須使用Javascript和AJAX,並將狀態列表的onChange事件添加到狀態列表中。在更改中,您發出ajax請求,從'ffl_list'中選擇城市,其中狀態是所選的城市。 第二選擇:第一頁與狀態列表,第二頁與城市列表(由州選擇過濾) – Marcassin 2013-05-13 00:04:45
我喜歡ajax和javascript的想法。你能幫我解決這個問題嗎?還是指出我的方向是正確的? – 2013-05-13 02:05:10