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