gpt4 book ai didi

php - 跟踪动态生成的表单元素并将它们作为 POST 变量传递

转载 作者:太空宇宙 更新时间:2023-11-03 11:14:02 25 4
gpt4 key购买 nike

我有一个页面,在满足特定条件时从数据库中的 1 个表中检索记录。

我想要实现的是为用户提供一个机会来更新使用文本框显示的每条记录。

在用户点击“提交”按钮后,我无法解释要继续执行的逻辑。

通常,如果我要更新一条记录(或静态数量的记录),我会使用适当数量的 SQL 语句。

由于记录的数量是动态生成的,一次更新所有记录的最佳方式是什么?我如何知道首先检索了哪些记录以进行更新?

例如:

好的,我们有一张表,其中包含学生 ID (ID)、姓名 (SN​​AME)、科目 (SUBJ)、每个科目的成绩 (GRADE) 和一般备注 (COMMENTS)。

我想检索有关所有获得“A”的学生的信息,并为每个学生写下独特的祝贺词(例如“干得好”或“祝贺”等)

我会检索记录并将它们放在页面上,每个学生记录旁边都有一个文本框供输入评论。因为我不知道要制作多少个文本框,所以我使用学生 ID 为文本框动态生成名称。用户现在为每个学生输入独特的评论,然后点击提交。

现在,我应该如何使用在每个文本框中输入的值来更新这些记录?

我不知道首先检索了哪些学生 - 我怎么知道要使用什么名字?我试图避免在提交后再次执行查询 - 但还有其他方法吗?

希望这个问题不会太困惑。

谢谢

最佳答案

进一步扩展之前的答案:您需要一个循环(例如 foreach)来显示和保存文本区域。如果文本区域的名称包含学生 ID,则不需要知道名称,因为文本是通过主键(学生 ID)插入到数据库中的。您可以将您的表单元素命名为数组,以迭代它们,例如(其中数字是 ID):

<textarea name="comment[2345234]"></textarea>
<textarea name="comment[8957485]"></textarea>

按照@evan 的描述读出来:

foreach((array)$_POST['comment'] as $studentId => $studentComment)
{
var_dump($studentId, $studentComment);
}

如果您将整个事情实现为 self 请求的形式(德语为 Affenformular),您也可以只使用一个循环来保存和输出文本区域。

“我不认为你理解我想问的问题。”也许你不明白答案,即使你说出来了。您不需要学生姓名来保存数据库记录。但如果你真的要提交,你也可以使用隐藏输入。

关于php - 跟踪动态生成的表单元素并将它们作为 POST 变量传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6574566/

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