0

为什么我的下拉列表没有填充表格数据?(下拉框为空)在该下拉列表中选择项目时用于显示数据的内容是“视图”(请提供学习链接,以便我学习)

我的代码

<?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>';

?>
4

2 回答 2

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();
}
于 2013-06-17T22:16:26.987 回答
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 和名字。

于 2013-06-17T22:45:23.963 回答