我正在从数据库中获取数据,我想在下拉菜单中显示一个字段,其余部分(根据下拉菜单中的选定用户)在其下面的段落中显示,因为我尝试在下面的代码中执行此操作,请缺少什么?
<div class="w3-display-bottomleft w3-container w3-text-black">
<?php
echo "<select name='users' id='users' placeholder='Employee'>";
while ($row = mysqli_fetch_array( $result, MYSQLI_ASSOC)) {
echo "<option value='" . $row['id'] ."'>" . $row['name'] ."</option>";
}
echo "</select>";
echo"</div>";
echo"</div>";
echo"<div class='w3-container'>";
while ($row = mysqli_fetch_array( $result, MYSQLI_ASSOC)) {
echo "<p><i class='fa fa-briefcase fa-fw w3-margin-right w3-large w3-text-teal'></i>". $row['department'] ."</p>";
echo "<p><i class='fa fa-home fa-fw w3-margin-right w3-large w3-text-teal'></i>Malta</p>";
echo "<p><i class='fa fa-envelope fa-fw w3-margin-right w3-large w3-text-teal'></i>[email protected]</p>";
}
?>
<hr>
不是使用两次调用mysqli_fetch_array()
会消耗整个结果集,而是使用mysqli_fetch_all()
获取结果数组,然后对这些结果使用foreach
循环而不是while
循环。
<div class="w3-display-bottomleft w3-container w3-text-black">
<?php
$my_rows = mysqli_fetch_all($result, MYSQLI_ASSOC);
echo "<select name='users' id='users' placeholder='Employee'>";
foreach($my_rows as $row) {
echo "<option value='" . $row['id'] ."'>" . $row['name'] ."</option>";
}
echo "</select>";
echo"</div>";
echo"</div>";
echo"<div class='w3-container'>";
foreach($my_rows as $row) {
echo "<p><i class='fa fa-briefcase fa-fw w3-margin-right w3-large w3-text-teal'></i>". $row['department'] ."</p>";
echo "<p><i class='fa fa-home fa-fw w3-margin-right w3-large w3-text-teal'></i>Malta</p>";
echo "<p><i class='fa fa-envelope fa-fw w3-margin-right w3-large w3-text-teal'></i>[email protected]</p>";
}
?>
<hr>