将HTML下拉列表中每个选项的值设置为PHP变量


Set the value for each option of an HTML drop down list to a PHP variable

我希望我的下拉列表在选项中显示sql表中的名称,但值是sql表中ID。我该如何做到这一点?

<select name="Warehouse">
<?php

$servername = "127.0.0.1";
$username = "root";
$password = "12345";
$db_name = "Second";
$the_port = "3306";
// Create connection
$conn = new mysqli($servername, $username, $password,$db_name,$the_port);
$conn->set_charset('utf8');
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
    echo "err";
} 
// fetch ID,Name_of  from table
 $sql="SELECT ID,Name_of FROM WAREHOUSE;";
$result = $conn->query($sql);
    while($row = mysqli_fetch_assoc($result)) {
        $val=$row['ID']; 
        echo "<option value=".$val." >" . $row['Name_of'] . "</option>";
    }
?></select>

实际上错误发生在sql查询中,在SELECT中我从未得到ID。

无论如何,谢谢。

更改查询表单

 $sql="SELECT Name_of FROM WAREHOUSE;";

$sql="SELECT ID,Name_of FROM WAREHOUSE;";

你可以试试这个:

<option value="$val">$row['Name_of']</option>

您的echo代码需要一些更改,它应该是这样的

echo "<option value='".$val."' >" . $row['Name_of'] . "</option>";
                   ^^^      ^^^

您需要将查询更改为

$sql="SELECT ID,Name_of FROM WAREHOUSE";

像这样尝试

echo "<option value=".$row['ID']." >" . $row['Name_of'] . "</option>";