我希望我的下拉列表在选项中显示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>";