[英]Updating multiple rows in sql and php
我有一个需要更新特定行的表。用户勾选(使用复选框)要更新的值,然后将其作为数组发送(两个值),然后需要在数据库中更改此值。问题是它用相同的值更新两个值。 我需要两个值都不同,这取决于帖子数组中的内容
我不确定是否应该使用联接? 还是for循环?
如何更新来自复选框数组的多个值? 。 我想要的是基于POST数组值更新两个值。正确的值来自于我使用var_dump的post数组
foreach($_POST['course_id'] as $course_id) {
$update_query = "UPDATE course_student SET course_id='$course_id' WHERE student_id='$student_id' ORDER BY course_id";
$update_course_result = mysqli_query($connection,$update_query);
if($update_course_result && mysqli_affected_rows($connection)>0) {
echo "Success";
// more code here
}
}
诀窍是先删除该学生的所有条目,然后再重新插入新检查的值:
DELETE FROM course_student WHERE student_id='$student_id'
然后在您的foreach循环中执行以下查询:
INSERT INTO course_student SET course_id='$course_id', student_id='$student_id'
此后看起来像“更新”,因为您删除了所有内容(还包括未选中的内容)。 并插入所有新的已检查条目。
并且请注意上面注释中提到的SQL注入。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.