为什么我的下拉列表没有填充表格数据? (下拉框为空) 用于在选择下拉列表中的项目时显示数据 - 是“视图”(请提供学习链接以便我学习)
我的代码
<?php
$con=mysqli_connect("localhost","root","","ismat_db");
//check connection
if(mysqli_errno($con))
{
echo "Can't Connect to mySQL:".mysqli_connect_error();
}
else
{
echo "Connected to mySQL</br>";
}
//$query = 'SELECT FirstName FROM persons';
//$result = mysqli_query($con,$query);
$query = mysqli_query($con,"SELECT 'FirstName' FROM persons");
//print_r($query);
//echo '<select name="FirstName">';
echo "<select name= 'FirstName'>";
//while($row=mysqli_fetch_array($result))
while($row=mysqli_fetch_array($query))
{
echo $row;
//echo "<option value='".$row['FirstName']."'>".'</option>';
}
echo '</select>';
?>
答案 0 :(得分:0)
试试这个:
echo "<option value='".$row['FirstName']."'>".$row['FirstName']."</option>";
您似乎也遇到了数据库查询问题。使用以下内容交换while循环,看看它是否有效
if ($result = $mysqli->query($query)) {
while ($row = $result->fetch_assoc()) {
echo "<option value='".$row['FirstName']."'>".$row['FirstName']."</option>";
}
$result->free();
}
答案 1 :(得分:0)
您有2个错误:
我在评论中指出了第一句:要打印一个选项,你必须使用这段代码:
echo "<option value='". $row['FirstName']."'>".$row['FirstName']
. '</option>';
第二个是你的SQL:你没有从数据库中选择FirstName字段,而是选择字符串'FirstName'。这就是为什么它按照你说的打印两次。使用此SQL获取字段:
$query = mysqli_query($con,"SELECT FirstName FROM persons");
通常人们也会记录记录的id而不是字段,这可能会重复<option>
的值。所以,我会用:
echo "<option value='". $row['id']."'>".$row['FirstName']
. '</option>';
从数据库中选择id和名字。