我有一个表格,每行都有唯一的标识符。我还有一个带有用户名的下拉菜单。
基本上每行都有一个任务,每个任务旁边都有一个带有任务所有者名称的下拉菜单。我需要做的是能够发布用户名及其任务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?
由于
答案 0 :(得分:1)
所以,我的理解是你需要知道哪个Task ID
与哪个select
有关?
假设您在PHP中创建select
,您只需更改
<select name="user_id[]">
到
<select name="user_id[TASK_ID]">
其中TASK_ID
是任务的实际ID ...(例如1
,2
或3
等。
然后,当您提交给PHP时,您可以使用循环访问$_POST[user_id]
,例如 foreach
循环...
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
答案 1 :(得分:0)
不是将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将映射到task1下拉列表中选择的任何内容,以及task2下拉列表中相同的内容。