所以这是管理员页面的一部分。 经过几次修改后,我来到了这里,这是我能得到的最好的结果:
<?php
$sql = "SELECT name
FROM users";
$result = mysqli_query($connection, $sql);
$users = array();
while ($row = mysqli_fetch_assoc($result))
{
$users[] = $row["name"];
}
echo ('</br><form action="" method="POST" style="display:inline!important"></br>
<select name="deleteUser">
<option value="' . $users[1] . '">' . $users[1] . '</option>' .
'<option value="' . $users[2] . '">' . $users[2] . '</option>' .
'<option value="' . $users[3] . '">' . $users[3] . '</option>' .
'<option value="' . $users[4] . '">' . $users[4] . '</option>' .
'<input class="w3-bar-item w3-button w3-hide-small w3-hover-green" type="submit" value="Delete" name="delete"></select></form>');
if (isset($_POST["delete"]))
{
$sql = "DELETE
FROM users
WHERE name = '" . $_POST["deleteUser"] . "'";
mysqli_query($connection, $sql);
}
?>
我试着写一个循环来生成像这样的选择选项:
<?php
$sql = "SELECT name
FROM users";
$result = mysqli_query($connection, $sql);
$users = array();
while ($row = mysqli_fetch_assoc($result))
{
$users[] = $row["name"];
}
echo ('</br><form action="" method="POST" style="display:inline!important"></br>
<select name="deleteUser">');
for ($i = 0; $i < count($users); $i++)
{
echo('<option value="' . $users[$i] . '">' . $users[$i] . '</option>');
}
echo('<input class="w3-bar-item w3-button w3-hide-small w3-hover-green" type="submit" value="Delete"></select></form>');
if (isset($_POST["delete"]))
{
$sql = "DELETE
FROM users
WHERE name = '" . $_POST["deleteUser"] . "'";
mysqli_query($connection, $sql);
}
?>
但是浏览器没有呈现它(即Chrome),可能是因为它只能在部分上?喜欢等待循环完成然后结束表单的最后一部分。 无论如何,我怎么能让它工作?谢谢伙伴......
答案 0 :(得分:2)
您可以使用while
,而不是使用foreach
循环,这是您可以正确使用foreach
以下是一个可以帮助您的示例
while ($row = mysql_fetch_assoc($result)) {
$rows[] = $row;
}
foreach($rows as $val){
//Here populate your options like this
echo '<option> '.$val["name"].' </option'
}
希望这会帮助你:))