MYSQL生成的下拉列表

时间:2012-03-27 09:30:30

标签: php mysql sql database drop-down-menu

我希望创建一系列下拉框(总共4个),这些框从MYSQL数据库的内容中填充。

一旦选中了每个框的内容,就可以提交数据,所有结果都会显示在页面上。

我使用以下代码创建了一个下拉列表,但它显示了数据库中所有70个条目的卧室数量。我只想显示数字1到10,例如,不限于10但只是一个列表,1,2,3,4,5,6,7,8,9,10显示,即使例如有多个enteries对于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>";

?>

4 个答案:

答案 0 :(得分:3)

只需将LIMIT 10添加到$sql查询的末尾即可。这将解决您的问题:

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

然而,这是你想要的吗?你想要展示哪10个?在LIMIT 10之前,您可能希望按某种方式订购结果。

E.g。假设您在表name中有一条名为bedrooms的记录。我们还要说你想按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>";

我觉得你也想要限制吗?如果没有,请将其删除

答案 1 :(得分:2)

实现这一目标有两种可能性:

你可以限制sql查询:

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

所以只返回了10件物品。

另一个选项是你可以在while循环中创建一个计数器,并检查它的值是否大于10。

答案 2 :(得分:2)

在查询结束时写限制:

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

答案 3 :(得分:2)

要显示数字1到10,您只想将LIMIT 0,10添加到查询中。

它应该如下所示:SELECT bedrooms FROM properties LIMIT 0,10