我目前正在开展一个学校项目。我的目标是开发一个动态网页,允许人们从数据库中检索数据。我想创建一些下拉框,允许用户缩小我创建的数据库中的数据。
例如,我将“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>
使用此代码,我收到一个下拉框,但没有给出任何选择。这是空白的。有任何想法吗?我将不胜感激任何帮助。
答案 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>";
}