[英]Why is my drop down list not populating with the table data?
为什么我的下拉列表没有填充表格数据? (下拉框为空),然后在下拉菜单中选择一个项目时显示数据的方式-是“视图”(请提供学习链接,以便我学习)
我的密码
<?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>';
?>
尝试这个:
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();
}
您有2个错误:
我在注释中指出了第一个:要打印选项,您必须使用以下代码:
echo "<option value='". $row['FirstName']."'>".$row['FirstName']
. '</option>';
第二个是在您的SQL中:您不是从数据库中选择FirstName字段,而是一个字符串'FirstName'。 这就是为什么您要打印两次的原因。 使用以下SQL获取字段:
$query = mysqli_query($con,"SELECT FirstName FROM persons");
通常,人们通常将记录的ID而不是字段的ID放在记录中,而字段ID可能与<option>
的值重复。 因此,我将使用:
echo "<option value='". $row['id']."'>".$row['FirstName']
. '</option>';
从数据库中选择ID和名字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.