【发布时间】:2021-10-01 20:53:30
【问题描述】:
编辑:
代码:
<form action="" method="post">
<input type = "submit" name="sql_update" value="SQL Update">
<?php $admin_checkbox = '<input type="checkbox" name="admin_status">';?>
</form>
$getusers = "SELECT id, username, firstname, lastname, admin FROM registered_users";
$result = mysqli_query($db, $getusers);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<br>". $row["id"]. " - " . $row["username"]. " - " . $row["firstname"]. " - " .$row["lastname"]. " - " .$row["admin"]. " " .$admin_checkbox. "<br>";
}
}
if (isset($_POST['sql_update'])) {
if (empty($_POST["admin_status"])){
echo ("Ni obkljukano");
}
如何与 $admin_checkbox 连接以使此代码正常工作。
if (empty($_POST["admin_status"])){
echo ("Ni obkljukano");
}
更新:
一切正常!
现在我也想知道如何做反向效果。如果用户已经是管理员。我必须在 elseif 语句中输入什么。问了这么多问题我真的很难过:/
if (isset($_POST['sql_update'])) {
if (empty($_POST["admin_status"])){
echo ("Ni izbranih elementov.");
}
elseif(){
$sql_admin_off = mysqli_query($db, "UPDATE registered_users SET admin = 0 WHERE id IN (".implode(',', $_POST['admin_status']).") ");
$sql_admin_off;
echo("test");
}
else {
$sql_admin_on = mysqli_query($db, "UPDATE registered_users SET admin = 1 WHERE id IN (".implode(',', $_POST['admin_status']).") ");
$sql_admin_on;
echo("SQL uspešno zapisan!");
}
}
更新 #2
if (isset($_POST['sql_update'])) {
if (empty($_POST["admin_status"])){
echo ("Ni izbranih elementov.");
} else {
$sql_admin_on = mysqli_query($db, "UPDATE registered_users SET admin = 1 WHERE id IN (".implode(',', $_POST['admin_status']).") ");
$sql_admin_on;
echo("SQL uspešno zapisan!");
$sql_admin_off = mysqli_query($db, "UPDATE registered_users SET admin = 0 WHERE id NOT IN (".implode(',', $_POST['admin_status']).") ");
$sql_admin_off;
echo("test");
}
}
【问题讨论】:
-
您好,欢迎来到 SO!请使用tour 并阅读help center 页面。对于您的问题,这就是您的意思吗:一旦打开,它将列出所有用户+复选框(管理员权限)。一旦提交,它会给用户复选框选中一个管理员,对吗?