hsi*_*nxh 4 php select distinct drop-down-menu
$sql = "SELECT DISTINCT Branch FROM student_main";
$result = mysql_query($sql);
$row_num = mysql_num_rows($result);
$rows = mysql_fetch_array($result);
echo "<select name='Branch'>";
for($i=0;$i<=$row_num-1;$i++){
echo "<option value='".$rows[$i]."'>".$rows[$i]."</option>";
}
echo "</select>";
echo "<input type='submit' Value='submit' />";
echo "</form>";
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用上面的代码为我的表单创建一个下拉列表.但它不起作用."分支"列中有3个不同的值,但在下拉列表中,它只显示一个值(第一个),后两个显示为空值.
但是当在echo $ row_num中时,它显示3.
这意味着它获取三行,但是为什么它没有显示在下拉列表中.
如果我在phpmyadmin中运行相同的查询,它会显示正确的答案,并返回3个不同的分支值.
您需要使用以下内容循环查询:
$sql = "SELECT DISTINCT Branch FROM student_main";
$result = mysql_query($sql);
echo "<select name='Branch'>";
while($rows = mysql_fetch_array($result)){ // should probably use mysql_fetch_assoc()
echo "<option value='".$rows['Branch']."'>".$rows['Branch']."</option>";
}
echo "</select>";
echo "<input type='submit' Value='submit' />";
echo "</form>";
Run Code Online (Sandbox Code Playgroud)
你应该做这样的事情:
$sql = "SELECT DISTINCT Branch FROM student_main";
$result = mysql_query($sql);
echo "<select name='Branch'>";
while ($row = mysql_fetch_array($result)) {
echo "<option value='".$row[0]."'>".$row[0]."</option>";
}
echo "</select>";
echo "<input type='submit' Value='submit' />";
echo "</form>";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
42168 次 |
| 最近记录: |