我有一个表单,每行都有一个唯一标识符。我还有一个带有用户名的下拉菜单。
基本上每行都有一个任务,每个任务旁边都有一个下拉菜单,其中包含任务所有者的名称。 我需要做的是能够发布用户名及其任务 ID,以便我可以在一次提交中更新任务的所有者。
假设以下是我的表格
ID Title MENU
1 Task 1 (please select)
2 Task 2 (please select)
3 Task 3 (please select)
make_change
如果用户在第 1 行选择了"Mike",那么我想使用 Mike 的 ID 更新数据库,这是下拉菜单中 Mike 的选项值。
我在尝试将每个菜单链接到正确的行 id"任务 id"时遇到困难的事情。这就是我的菜单代码的显示方式
<select name="user_id[]">
<option value="200">Mike</option>
<option value="205">Jaylen</option>
<option value="220"> Jack</option>
</select>
我希望能够将每个菜单链接到正确的任务 ID,以便在发布表单时可以将每个菜单链接到正确的行。
如何在每个菜单中包含任务 ID?
谢谢
所以,我的理解是你需要知道哪个Task ID
与哪个select
有关?
假设你在PHP中创建select
,你可以简单地改变
<select name="user_id[]">
自
<select name="user_id[TASK_ID]">
其中TASK_ID
是任务的实际 ID...(例如 1
、2
或3
等)。
然后,当您提交到 PHP 时,您可以使用例如foreach
循环来循环$_POST[user_id]
...
foreach($_POST['user_id'] as $taskid => $userid){
//Do something with the information....
}
更新
如果您知道TASK_ID
则无需遍历整个帖子,则可以使用以下方法访问必填字段:$_POST['user_id'][TASK_ID]
例如。。。
echo $_POST['user_id'][1]; //Echo's the user id for task 1
echo $_POST['user_id'][8]; //Echo's the user id for task 8
与其将 select 标签的名称设为数组,不如将它们设为唯一的名称。这样,每一行都可以唯一标识。例:
<select name="task1">
<option value="200">Mike</option>
<option value="205">Jaylen</option>
<option value="220"> Jack</option>
</select>
<select name="task2">
<option value="200">Mike</option>
<option value="205">Jaylen</option>
<option value="220"> Jack</option>
</select>
这样,task1 将映射到在任务 1 的下拉列表中选择的任何内容,并且与任务 2 下拉列表中相同的内容。