-1

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

例如,我将“年份”作为数据库中的一列,因为我收集了多年的数据。我想为用户建立一种使用 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

4 回答 4

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>";
}
于 2013-06-24T18:42:23.123 回答
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>
于 2013-06-24T18:56:35.070 回答
0

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

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

于 2013-06-24T18:57:24.587 回答
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>";
 }
于 2013-06-25T10:25:27.550 回答