我有一个for循环,它实际上显示了一个产品名称和几个按钮,如:编辑,更新,取消 对于我正在显示的每个产品,它将有自己的一组Edir,更新和取消按钮,如下所示。
绘制编辑更新取消
我想循环浏览按钮,以便对于每个类别,我可以执行不同的操作。我正在考虑使用像btn_edit1,btn_edit2这样的按钮名称并使用for循环。 1,2是类别ID。 也许我不够清楚。对不起。谁能给我一些建议?
for($i = 0; $i<count($obj_categories_admin->categories);$i++)
{
echo "<tr>";
echo "<td width='1500'>";
echo "<input type='text' name='name' size = '30' value='" . $obj_categories_admin->categories[$i]['name'] . "'/>";
echo "</td>";
echo "<td width='500'>";
echo "<input type='submit' value = 'Update details' name='submit_update_category_" .
$obj_categories_admin->categories[$i]['category_id'] . "'/>";
echo "</td>";
echo "<td width='500'>";
echo "<input type='submit' value = 'Edit Sub Categories' name='submit_edit_sub_" .
$obj_categories_admin->categories[$i]['category_id'] . "'/>";
echo "</td>";
echo "<td width='500'>";
echo "<input type='submit' value = 'Delete' name='submit_delete_category_" .
$obj_categories_admin->categories[$i]['category_id'] . "'/>";
echo "</td>";
echo "<td width='500'>";
echo "<input type='submit' value = 'Cancel' name='cancel'" . "'/>" ;
echo "</td>";
echo "</tr>";
}
我想做点什么
foreach($_POST as $key => $value)
{
}
这样当我点击按钮时,它会根据category_id执行操作。
我按照建议尝试了这个:
echo "<input type='submit' name='submit[add_category]'" .
"[" . $obj_categories_admin->categories[$i]['category_id'] . "]". " value='Add' />";
现在在我的班上,我有:
$a1 = $_POST['submit'];
$which_action = reset(array_keys($a1));
$which_category = reset(array_keys($a1[$which_action]));
但是,我收到错误:未定义的索引提交
答案 0 :(得分:1)
我会用这样的东西:
<fieldset>
<!-- product info -->
<input name="productName[paint]" />
<input name="productName[edit]" />
<input name="productName[delete]" />
<input name="productName[cancel]" />
</fieldset>
当你把它带到服务器端时,嵌套数组中的一切都会很好和整洁。
答案 1 :(得分:1)
我会使用以下模式给出提交按钮的名称属性:
name="submit[which_action][which_category]"
例如,类别123的“更新”按钮:
name="submit[update][123]"
当用户点击任何提交按钮时,要确定用户点击了哪个特定按钮,您只需要在PHP代码中检查$ _POST ['submit']:
$a1 = $_POST['submit'];
$which_action = reset(array_keys($a1));
$which_category = reset(array_keys($a1[$which_action]));