2015-03-25 51 views
1

我希望我的下拉列表在选项中显示来自sql表的名称,但将值作为sql表中的ID。我如何实现这一目标?将HTML下拉列表中每个选项的值设置为一个PHP变量

<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> 
+0

那么是什么问题? – 2015-03-25 06:07:26

+0

接受任何人回答,以便其他人知道 – 2015-03-25 06:37:59

+0

我已经回答了... – 2015-03-26 08:25:39

回答

2

其实错误是在SQL查询,在SELECT我从来没有得到的ID。

无论如何。

+0

回声是完美的,问题出在SQL中。 – 2015-03-26 08:25:25

1

你的回音代码需要一些变化,应该是这样的

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

,你需要查询更改为

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

尝试这样

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

改变你的查询形式

$sql="SELECT Name_of FROM WAREHOUSE;"; 

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

你可以试试这个:

<option value="$val">$row['Name_of']</option> 
相关问题