首先,要提取用戶選擇牀的(最小)號。要做到這一點,你需要一點javascript(或jQuery, which is what I recommend)。
這裏是代碼手錶選擇元素的值來改變。也許你不會使用事件,但代碼演示瞭如何讀取控件的值(以及如何正確使用selected
屬性):
jsFiddle Demo
HTML:
<select name="bedrooms" id="bedrooms">
<option value="0" selected>Choose One:</option>
<option value="1">1 bed+</option>
<option value="2">2 beds+</option>
<option value="3">3 beds+</option>
</select>
<div id="resultsDiv"></div>
使用Javascript/jQuery的:
$('#bedrooms').change(function() {
var beds = $(this).val();
alert('Minimum beds: ' + beds);
});
一旦你有保存到一個變量牀的(最小)編號,您可以使用Ajax請求發送到服務器進行搜索並返回結果:
$.ajax({
type: "POST",
url: "somephpfilename.php",
data: 'num_beds=' + beds,
success: function(recd){
$('#resultsDiv').html(recd);
}
});
上面會將變量beds
的內容發送到PHP端,重新命名爲num_beds
。我更改了var名稱,以便您可以看到名稱是如何匹配的。在PHP端,檢索牀的數量:$_POST['num_beds']
然後,您可以做一個MySQL搜索和構建一個變量中的一些HTML代碼。完成後,只需回顯該變量即可。 (請注意,我用的$out .= "more stuff";
追加到變量內容,然後echo
完成時可變
PHP:somephpfilename.php
$min_beds = $_POST['num_beds'];
$query = "SELECT * IN `yourtablename` WHERE `cp_bedrooms` > '$min_beds' ORDER BY `cp_bedrooms`";
$results = mysql_query($query) or die(mysql_error());
$out = '
<table id="foundApts">
<tr>
<th>Num Beds</th>
<th>Address</th>
<th>Contact Phone</th>
<th>Rent</th>
</tr>
';
while ($row = mysql_fetch_assoc($results){
$out .= '
<tr>
<td>' .$row['cp_bedrooms']. '</td>
<td>' .$row['address_field_name']. '</td>
<td>' .$row['phonenum_field_name']. '</td>
<td>' .$row['rentprice_field_name']. '</td>
</tr>
';
}
$out .= '</table>';
echo $out;
什麼是PHP呼應了(也就是說,在$out
變量的內容 - 在PHP端構建的HTML)是在一個名爲recd
變量的AJAX success:
函數內收到的只寫變量到結果的div,你會看到結果的全面建構的表格注意。你必須這樣做裏面的success:
功能。你會發現recd
變量不存在這個函數之外。
這是一個非工作鏈接到的jsfiddle一切放在一起。請注意,它是非工作的,因爲jsFiddles不能執行AJAX,並且沒有地方放置PHP (我只是將PHP添加到評論中,但它應該保存到PHP文件系統中的文件中)。只需觀察代碼是如何構建的。
jsFiddle Code Sample
下面是關於AJAX/PHP的一些其他注意事項:
How to use jQuery in your code(你只需要包括jQuery庫,如圖One:
)
Simple intro to AJAX
你可以發佈你的PHP代碼爲海RCH?具體來說,包含牀位數量的字段名稱是什麼? – gibberish
嗨胡言亂語,這個字段名稱叫做「cp_bedrooms」,我今天晚上回到家時發佈了代碼,奇怪的是如果我把