3

我想将两个不同的表从 HTML 发布请求更改为运行 PHP 的服务器。以前,当我只想更改一个表时,所有的列和值都被放入 POST 数组中,所以我会有[colname1]=>val1,[colname2]=val2等。然后我将遍历 POST 以构建正确的 MySQL 语句来运行查询。

我已经修改了我的代码,以便根据选择的下拉框,不仅第一个表会被修改,而且另一个表(用户选择的)也会被修改。所以理想情况下,我希望 PHP 中的 POST 变量有一个数组数组。所以最后,如果 POST 变量看起来像这样会很好......

[mainTable][colnam1]=>val1 [colnam2]=>val2
[otherTable][colnam1]=>val1 [colnam2]=>val2

我当前的解决方法是必须在表单输入名称前面给出表名,然后在服务器上解析它,但我宁愿更灵活,不要这样做。

<input type="text" name="mainTable_colname">
<input type="text" name="otherTable_colname">

根据我对使用表单和 POST 的理解,只有命名的 html 表单元素会被传递到 post 变量中。

有谁知道这样做的更好方法?

4

1 回答 1

4

将元素的 name 属性指定为数组,包括您想要的键,您将获得数组$_POST

<input type="text" name="mainTable[colname]">
<input type="text" name="mainTable[colname2]">
<input type="text" name="otherTable[colname]">

Avar_dump( $_POST['mainTable']);会产生类似于:

array( 'colname' => 1, 'colname2' => 1);
于 2012-07-05T20:18:22.700 回答