2012-03-27 122 views
1

我正在創建一系列從MYSQL數據庫的內容填充的下拉框(共4個)。MYSQL生成下拉列表

一旦選定了每個框中的內容,就可以提交數據,並且所有結果都將顯示在頁面上。

我用下面的代碼創建了一個下拉列表,但它顯示了臥室數量的數據庫中的所有70個條目。我只想顯示數字1到10,例如,不限制爲10,但只顯示一個列表,即1,2,3,4,5,6,7,8,9,10,儘管例如有多個輸入對於2號等 的網站鏈接,這是http://www.holidayaviemore.com

任何幫助深表感謝

<?php 

$sql = "SELECT bedrooms FROM properties"; 
$result = mysql_query($sql); 

echo "<select name='property'>"; 
while ($row = mysql_fetch_array($result)) { 
echo "<option value='" . $row['bedrooms'] . "'>" . $row['bedrooms'] . "</option>"; 
} 
echo "</select>"; 

?> 

回答

3

只需添加LIMIT 10$sql查詢結束。這將解決你的問題:

$sql = "SELECT bedrooms FROM properties LIMIT 10";

但是,這是你想要的嗎?你想顯示哪10個?在LIMIT 10之前,您可能想要按某種方式排列結果。

E.g.假設您在bedrooms表中有一個名爲name的記錄。我們還要說,你想通過name來訂購(你可能會想把它改成我會想到的更相關的領域)。然後,你可以這樣說:

$sql = "SELECT bedrooms FROM properties ORDER BY name LIMIT 10";

這是否幫助?

編輯

你想這樣的:「不是限制到10個條目我只想數字1至10出現在下拉列表」。下面是你如何做到這一點:

$sql = "SELECT bedrooms FROM properties LIMIT 10"; 
$result = mysql_query($sql); 

echo "<select name='property'>"; 
$count = 0; 
while ($row = mysql_fetch_array($result)) { 
    echo "<option value='" . $row['bedrooms'] . "'> " . $count . " " . $row['bedrooms'] . "</option>"; 
    $count++; 
} 
echo "</select>"; 

我想你想要的限制呢?如果沒有,刪除它

+0

感謝您的幫助,而不是限制爲10個條目我只想數字1至10出現在下拉列表中看到 – 2012-03-27 09:39:53

+0

編輯答案。 – ale 2012-03-27 09:59:38

+0

歡呼聲,非常感謝您的幫助 – 2012-03-27 10:21:32

2

有兩種方法可以實現:

你可以限制SQL查詢:

$sql = "SELECT bedrooms FROM properties LIMIT 10"; 

所以只有10個項目退回。

另一種選擇是你可以在while循環中創建一個計數器,並檢查它的值是否大於十。在查詢結束

+0

感謝您的幫助,而不是限制爲10條目我只想數字1到10出現在下拉列表中 – 2012-03-27 09:50:26

+0

看到我編輯的答案。 – ale 2012-03-27 09:59:47

2

寫極限:

$sql = "SELECT bedrooms FROM properties LIMIT bedrooms 0,10"; 
2

顯示數字1到10你只是想限制0,10添加到您的查詢。

應該再是這樣的:SELECT bedrooms FROM properties LIMIT 0,10