将所选的单选值插入表-php mysql的特定id中

将所选的单选值插入表-php mysql的特定id中,php,mysql,Php,Mysql,我在数据库中有一个表,当想要拒绝或接受某人的应用程序时,我只需选择单选按钮并将值发送到数据库中的表中 但问题是,该值分配给了新行,而不是特定的学生id。这是我的表,正如您所看到的,添加了两个新行以获得另一个id。这是我的代码和表: <?php $status = $_POST["status"]; $connect = mysqli_connect("localhost","root","admin","form"); if (!$connect) {

我在数据库中有一个表,当想要拒绝或接受某人的应用程序时,我只需选择单选按钮并将值发送到数据库中的表中

但问题是,该值分配给了新行,而不是特定的学生id。这是我的表,正如您所看到的,添加了两个新行以获得另一个id。这是我的代码和表:

<?php

  $status  = $_POST["status"];
  $connect = mysqli_connect("localhost","root","admin","form");
  if (!$connect) {
          die('Connect error:'. mysqli_error());
      }
      $result = mysqli_query($connect, "INSERT INTO students (status) VALUES ('$status')    ");


?>

INSERT
语句旨在。。。插入新行。您需要的是一个
UPDATE
语句,将值应用于某一行,您将使用其
idstudent
选择该行

$status  = $_POST["status"];
$studentid  = $_POST["studentid"];

...

$result = mysqli_query($connect, "UPDATE students SET status = '$status' WHERE idstudents = $studentid;");

另一方面,在使用用户输入的$_POST(或其他)值时,请务必小心。如果此服务将被其他人使用,您可能希望在插入它们之前对它们进行清理,以避免潜在的安全漏洞。

为了更新,您需要更新声明,别忘了在表格上添加
学生id
。考虑这个例子:(相同的页面过程).< /P>


名称:
状态:

您需要更新语句而不是插入,提交表单时,您需要更新,其中包括表单中的状态和id,您还需要提供其他列值!当我喜欢您的代码时,它不会在表中添加任何内容,但当我将特定id替换为$studentid时,它会起作用。@user3615781您需要在html表单中发布学生id以及状态。例如
$status  = $_POST["status"];
$studentid  = $_POST["studentid"];

...

$result = mysqli_query($connect, "UPDATE students SET status = '$status' WHERE idstudents = $studentid;");
<?php

$students = array();
$link = new mysqli('localhost', 'username', 'password', 'database');

if(isset($_POST['submit'], $_POST['status'])) {
    $status = $_POST['status'];
    foreach($status as $student_id => $status_value) {
        $stmt = $link->prepare('UPDATE students SET status = ? WHERE idstudents = ?');
        $stmt->bind_param('ss', $status_value, $student_id);
        $stmt->execute();
    }
}

$query = mysqli_query($link, 'SELECT * FROM students');
while($row = $query->fetch_assoc()) {
    $students[] = $row;
}

?>

<form method="POST" action="">
    <?php foreach($students as $key => $value): ?>
        <fieldset>
            <p>
                Name: <?php echo $value['fname'] . " " . $value['lname']; ?><br/>
                Status: <b><?php echo ($value['status'] != '') ? $value['status'] : 'N/A'; ?></b><br/>
                <input type="radio" name="status[<?php echo $value['idstudents']; ?>]" value="accepted" /> Accepted
                <input type="radio" name="status[<?php echo $value['idstudents']; ?>]" value="rejected" /> Rejected
            </p>
        </fieldset>
    <?php endforeach; ?>
    <input type="submit" name="submit" value="Update" />
</form>