下拉框中填充了mysql行php

时间:2013-06-24 18:34:20

标签: php html mysql row

我目前正在开展一个学校项目。我的目标是开发一个动态网页,允许人们从数据库中检索数据。我想创建一些下拉框,允许用户缩小我创建的数据库中的数据。

例如,我将“year”作为我的数据库中的一列,因为我收集了多年的数据。我想通过使用HTML下拉框为用户建立一种选择特定年份的方法。我如何使用PHP和我的数据库编写这样的代码呢?

到目前为止,这是我的代码,但我似乎无法随心所欲。

<select name='year'>
<?php
$query = "select distinct year from test order by year";

$result = $result->query($query);
while ($row = $result->fetch_assoc()) {
echo "<option value='".$row->year."'>".$row->year."</option>";
}

?>
</select>

使用此代码,我收到一个下拉框,但没有给出任何选择。这是空白的。有任何想法吗?我将不胜感激任何帮助。

4 个答案:

答案 0 :(得分:1)

fetch_assoc()返回关联数组而不是对象,应该像数组一样访问

$query = "select distinct year from test order by year";
$result = $result->query($query);
while ($row = $result->fetch_assoc()) {
echo "<option value='".$row['year']."'>".$row['year']."</option>";
}

答案 1 :(得分:0)

<select name='year'>
<?php
$query = "select distinct year from test order by year";

$result = $result->query($query);
while ($row = $result->fetch_object()) {
echo "<option value='".$row->year."'>".$row->year."</option>";
}

?>
</select>

答案 2 :(得分:0)

要以对象的形式访问结果,您应该使用fetch_object。 所以你的循环应该改变如下:

while ($row = $result->fetch_object()) {

答案 3 :(得分:0)

或使用

 $sql=mysql_query("select distinct year from test order by year");
 while ($row = mysql_fetch_assoc($sql)) {
     echo "<option value='".$row["year"]."'>".$row["year"]."</option>";
 }