gpt4 book ai didi

php - 在 PHP 和 MySQL 中使用循环进行多个更新查询

转载 作者:行者123 更新时间:2023-11-29 13:05:44 25 4
gpt4 key购买 nike

我有一个表,其中存储了某个类(class)注册的学生列表以及他们各自的成绩。它有 STUD_IDSTUD_GRADE 作为列,STUD_GRADE 的默认值为 NA。

我想要做的是显示表格中的所有学生,并在他们旁边显示一个成绩文本框,当按下提交按钮时,所有行都会更新。

我使用以下代码显示它们:

    $query = "SELECT stud_id FROM tblgrade";
$result = mysql_query($query,$db) or die (mysql_error($db));
while($row = mysql_fetch_array($result))
{
extract($row);

echo "<tr><td><input type='hidden' value='$stud_id' name='id'/> stud_id </td>
<td><input type='text' size='10' name='grade'></td>
<tr>";
}

?>

我想做的是通过在查询本身或 PHP 函数中使用循环来更新 NA 成绩。我已经尝试了很多事情,但在制作正确的循环方面确实遇到了困难。它总是给出一个结果,其中只有最后一行会被更新。

这是我尝试做的第一件事也是最后一件事:

    $query = "SELECT stud_id FROM tblgrade";
$result = mysql_query($query,$db) or die (mysql_error($db));
while($row = mysql_fetch_array($result))
{
$query1 = "UPDATE tblgrade SET stud_grade = '$_POST[grade]' WHERE stud_id = '$_POST[id]'";
mysql_query($query1,$db) or die (mysql_error($db));
}
echo "Grades have been updated!";

我选择不发布我尝试过的循环,因为它们真的很困惑,我希望可以完成像我上面发布的那样的事情。

有人提出建议吗?提前致谢。 :D

PS:真的不擅长循环..:(

最佳答案

我会这样做:

UPDATE tblgrade
SET stud_grade = CASE
WHEN stud_id_1_value THEN 'stud_grade_1_value'
WHEN stud_id_2_value THEN 'stud_grade_2_value'
WHEN stud_id_3_value THEN 'stud_grade_3_value'
...
END
WHERE stud_id IN (stud_id_1_value,stud_id_2_value,stud_id_3_value,...);

关于php - 在 PHP 和 MySQL 中使用循环进行多个更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22733005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com