-1

我正在构建一个具有动态表的应用程序,每次打开页表的行和列都会根据数据库中的数据进行更改。每行是一个供应商公司,每列是一个项目标题。所有这些供应商都提供相同的项目,因此该表有一个文本框,每个文本框都包含一个文本框,因此用户可以键入值,该值表示他们想要从该供应商那里获得的水果数量。以下是示例。

示例数据

所以我现在需要做的是,输入这些值后,我想通过PHP处理它们,然后在确认页面看到4个不同的报告,例如:写公司名称,在其下,他们必须提供什么对于每个项目,然后是下一个公司,依此类推,直到最后。

我不知道我是否应该为每个文本框创建不同的类?或识别他们!我应该排列它们吗?我很困惑..如果你们中的任何人可以提供帮助,那就太好了

非常感谢

4

2 回答 2

1

我建议您将输入元素命名为数组。就像是:

<input type="text" name="fruits[company1][apple]">
<input type="text" name="fruits[company1][berries]">
<input type="text" name="fruits[company1][orange]">
<input type="text" name="fruits[company1][bannana]">

<input type="text" name="fruits[company2][apple]">
<input type="text" name="fruits[company2][berries]">
<input type="text" name="fruits[company2][orange]">
<input type="text" name="fruits[company2][bannana]">

或者同样的事情,水果是第一层,公司名称是第二层。这实际上是同一件事,通常都一样容易使用。仅取决于发布表单后您希望如何循环数据。您最好也使用公司名称和/或水果的 id。只是这样,例如,带有空格的公司名称仍然有效。

使用上面的表格,您可以使用以下方式处理数据:

<?php
foreach($_POST['fruits'] as $company=>$row){
    foreach($row as $fruit=>$quantity){
        if(!is_numeric($quantity) || $quantity < 0){
            $quantity = 0;
        }
        echo "You selected {$quantity} {$fruit} from {$company}";
    }
}
于 2012-08-10T19:33:58.553 回答
-1

我会尝试创建一个以项目 ID 作为第一维的多暗淡数组。像这样:

<input type="textbox" name="textbox[<?php echo $row['item_id']; ?>]["apple"]" value="<?php echo $row['apple']; ?>" />

然后,在您的处理脚本中:

foreach ($_POST['textbox'] as $row)
{
  foreach ($row as $key => $val)
  {
    $q = "update `items` set `apple` = {$val['apple']} where `item_id` = {$key}";
    mysql_query($q);
  }
}
于 2012-08-10T19:33:49.053 回答