0

我有一个简单的数据库和一个小桌子。这张名为STOCK的表只有一列 - 文具中不同物品的名称。

我在PHP-MySQL中动态生成一个表单,该表单从STOCK(如 Pencil、Pen 等)中获取 Item并使用echo()函数显示它们。所以我生成了一个显示项目和相应的<input>文本框的表单。提交此表单后,如何通过遍历$_GET数组来访问所有名称及其文本输入?

动态生成的表格是:

        $res = mysql_query("SELECT * FROM Stock");

        echo "<form name='input' action='add_stock_later.php' method='get'>";
        echo "<table align='left' border='1'>
        <tr>
        <th>Item</th>
        <th>Quantity</th>
        <th>Remarks</>
        </tr>";

        while($row = mysql_fetch_array($res))
          {
            $item = $row['Item'];
            echo "<tr>";
            echo "<td>" . $item . "</td>";

            echo "<td><input type='text' name='$item'></td>";
            echo "<td><input type='text' name='Remarks'></td>";
            echo "</tr>";
          }

          echo "<tr><td></td>
        <td align='middle'><input type='submit' value='Submit'></td></tr>";


        echo "</table>";

现在在add_stock_later.php中,我如何访问所有这些$item以及它的相应输入,而无需手动使用$_GET['Pencil'], $_GET['Pen']等等。

4

2 回答 2

1

首先编辑您的表格。

echo "<td><input type='text' name='".$item."[quantity]'></td>";
echo "<td><input type='text' name='".$item."[remarks]'></td>";

然后使用foreach().

foreach ($_GET as $stationery => $info) {
    $stationery; // name of the stationery
    $info["quantity"]; // quantity of the stationery
    $info["remarks"]; // remarks for the stationery
}
于 2013-01-30T03:32:20.917 回答
0

像这样的东西,当然添加它。

$required = array('pencil', 'pen', 'paper', 'staples');
foreach ($required as $getKey){
    if (isset($_GET[$getKey]) && $_GET[$getKey] !=''){
        $$getKey = trim($_GET[$getKey]);
    }
}

这变成$_GET['pencil']$pencil,您无需担心试图注入垃圾的傻瓜。

于 2013-01-30T03:37:43.993 回答