如何使用PHP / MySQLi从Database填充复选框

时间:2018-04-24 09:44:05

标签: php mysql

我正在使用三个数据库表。

  • 用户
  • USER_CLASS

我正在制作一个页面,以便可以使用复选框将学生分配到课程。我如何得到它,以便如果班级中的学生的价值当前在数据库中,该班级的复选框将已经检查了学生价值。

<?php
$showAllStudents = "SELECT * FROM users";
 mysqli_query($mysqli, $showAllStudents) or die ('Error finding Students');

$result = mysqli_query($mysqli, $showAllStudents);

echo"<table border='1' cellspacing='10' align='center'>";
echo "<tr><th></th><th>User ID</th><th>User Name</th><th>First Name</th>
<th>Second Name</th></tr>";

while ($row = $result->fetch_object()){
   echo "<tr>";
   echo "<td><input type='checkbox' id='" .$row->userID . "' 
   name='check_box[]' value='" .$row->userID . "' /></td>";
   echo "<td>" .$row->userID . "</td>";
   echo "<td>" .$row->username . "</td>";
echo "<td>" .$row->forename . "</td>";
echo "<td>" .$row->surname . "</td>";
echo "</tr>";
}

if (isset($_POST['submitClassStudent'])) {
//get ID from header
$classID = $_GET['id'];
//print_r ($_POST);

//for each ticked checkbox convert to a UserID variable
foreach ($_POST['check_box'] as $userID) {
    $editClassStudentQuery = "INSERT INTO `user_class`(userID, classID)
                               VALUES('$userID', '$classID')";
    $insert_row = $mysqli->query($editClassStudentQuery) or die($mysqli->error . __LINE__);
    if ($insert_row) {
        header('Location: classeditor.php');
    } else {
        echo "Error: " . $editClassStudentQuery . "<br>" . $mysqli->error;
    }
}
}
?>

2 个答案:

答案 0 :(得分:0)

要将复选框标记为已选中,您只需添加checked作为其属性之一。

<input type="checkbox" id="already-checked" checked> Already checked

W3 Schools

答案 1 :(得分:0)

如果用户存在,则回复&#39;检查&#39;在标签中 示例:echo "<input type ='checkbox'";if(YourConditionHere)echo "checked>";else echo ">";