簡體   English   中英

為什么我的下拉列表沒有填充表格數據?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM