在這裏,是我的查詢:下拉列表中只出現第一個錶行
$sql = "SELECT * FROM employee";
$query = "SELECT * FROM employeerole ORDER BY role_id";
$result = mysqli_query($link, $sql);
$result1 = mysqli_query($link, $query);
<?php
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
?>
<tr>
<td><?php echo $row["id"]; ?></td>
<td><?php echo $row["first_name"]; ?></td>
<td><?php echo $row["last_name"]; ?></td>
<td><?php echo $row["username"]; ?></td>
<td><?php echo $row["role"]; ?></td>
<td>
這裏是我的代碼,包括表格單元格下拉框然而,在下拉框中的數據只出現在表的第一行(如下面截圖所示)。
這是否與循環有關?
<form action ="change.php">
<select id="role" class="" onchange="this.form.submit()">
<?php while ($line = mysqli_fetch_array($result1, MYSQL_ASSOC)) { ?>
<option value="<?php echo $line['role_id']; ?>"><?php echo $line['role_name']; ?></option>
<?php } ?>
</select>
</form>
</td>
<td><input type="button" onclick="ConfirmDelete()" value="Delete account"</td>
</tr>
<?php } ?>
表的屏幕截圖:
mysqli_fetch_array走到了盡頭,接下來循環不會有下一個。您需要將數據保存到數組,然後多次循環。 – FirstOne
可能重複[如何通過mysql結果兩次?](http://stackoverflow.com/questions/6439230/how-to-go-through-mysql-result-twice) – FirstOne
@FirstOne他們使用' 'mysqli_fetch_array($ result,MYSQLI_ASSOC)中的MYSQLI_ASSOC''我有一種感覺,他們使用了一個LIMIT,他們沒有顯示。但我可能是錯的。 –