从 HTML 表中获取用户输入的数据


Get user inputed data from HTML table

这是针对内部订单的网页。它看起来像这样。我假设我想要一个产品(来自下拉框)和数量的 HTML 表格。我的问题是如何在他们按保存后从表中获取数据。他们本可以输入一个产品或 40 个产品,因此它需要一些动态的,而不仅仅是 40 个输入框并从 _POST 美元中接收它们(或者也许这就是我需要做的)。我想我在问如何处理这个问题。这是我可以用PHP做的事情还是我需要使用js?

谢谢。如果我不清楚(明显的可能性),请告诉我,我会再次尝试解释我所追求的

你可以用php来做,有一个添加行按钮,提交表单,不要保存它,只是重新显示帖子数据并添加另一行有更多的输入。但是JS版本可能会给用户带来更好的体验

是的,你可以用$_POST传递它。

是的,使用 PHP 是可能的。您可能还需要某种类型的数据库来处理此问题

您可以创建一个表单来收集数组中的数据,例如:

<tr>
    <td><input type="text" name="item[]" /></td>
    <td>
    <select name="qty[]">
        <option value="1">1</option>
        <option value="2">2</option>
    </select>
    </td>
</tr>

使用数组作为输入字段名称。如数量[0], 数量[1]...数量[10] 等然后使用 foreach 处理传入的 $_POST 数组...

下面介绍了如何实现大量行和列。

<form method="post">
<table>
<?
$rows=10;
$cols=3;
$colsArr = array();
$colsArr[0] = "qty";
$colsArr[1] = "desc";
$colsArr[2] = "unitprice";
for($i=0;$i<$rows;$i++)
{
    echo "<tr>";
    for($j=0;$j<$cols;$j++)
    {
        $name = $colsArr[$j];
        echo "<td><input type=text name=".$name."[" . $i ."]></td>";
    }
    echo "</tr>";
}
?>
</table>
<input type="submit">
</form>

查看此代码的输出源。当您发布此类表单时,您将获得:(我发布了 3 个带有数量的项目,1,3,5 带有描述 DESC1,DESC2,DESC3 和价格 1.00$,2.00$,5.00$)

Array ( [qty] => Array ( [0] => 1 [1] => 3 [2] => 5 [3] => [4] => [5] => [6] => [7] => [8] => [9] => ) [desc] => Array ( [0] => desc1 [1] => desc2 [2] => desc3 [3] => [4] => [5] => [6] => [7] => [8] => [9] => ) [unitprice] => Array ( [0] => 1.00$ [1] => 2.00$ [2] => 5.00$ [3] => [4] => [5] => [6] => [7] => [8] => [9] => ) )