我正在使用Php / Mysql,我有客户端表并尝试在下拉列表中显示数据。不幸的是,只有一个客户端显示在下拉列表中,我总共有3个客户端。为什么只有一个?例如:迈克尔·金,迈克尔·乔丹,迈克尔·约翰,当我从表中选择所有数据并使输出显示在下拉列表中时,迈克尔·约翰只在下拉列表中。
Here my Mysql code :
//All data is selected from client_tb
<?php
$sql = "SELECT * FROM client_tb";
$result = $conn->query($sql);
while($row=mysqli_fetch_array($result))
{
$id = $row['id'];
$lname = $row['lname'];
$fname = $row['fname'];
}
?>
//my dropdown which will show the clients from client_tb but only one will appear.
<option value ="<?=$lname?><?=$fname?>"><?=$lname?> , <?=$fname?> </option> </select><br><br>
答案 0 :(得分:1)
您还可以在while循环之外实现下拉菜单。试试这个:
$sql = "SELECT * FROM client_tb";
$result = $conn->query($sql);
$options =array();
while($row=mysqli_fetch_array($result))
{
$options[] =$row;
}
你的下拉列表:
<select name="">
<?php
foreach($options as $option):
echo '<option value ="'.$option['lname'].''.$option['fname'].'">'.
$option['lname'].','.$option['fname'].'</option>';
endforeach;
?>
</select>
答案 1 :(得分:1)
您也可以将数据库查询添加到函数中,然后调用它。
function myFunction() {
$sql = "SELECT * FROM client_tb";
$result = $conn->query($sql);
while($row=mysqli_fetch_array($result))
{
$myvalues[] =$row;
}
return $myvalues;
}
现在下拉, 请注意,选项位于循环内
<select name="">
<?php foreach($myvalues as $myvalue) {
echo '<option value="'.$myvalue['lname'].''.$myvalue['fname'].'">'.
$myvalue['lname'].','.$myvalue['fname'].'</option>';
}
?>
</select>