【问题标题】:I need to store and retrieve an group of form elements with each group being stored as an array of form elements我需要存储和检索一组表单元素,每个组都存储为表单元素数组
【发布时间】:2018-02-05 23:44:50
【问题描述】:

我有一个由存储在数据库表中的元素组组成的表单。 我使用该表来构建预先填充了表中数据的表单,然后我可以对任何字段进行任何编辑。如果确实进行了更改,那么我会根据提交的表单将数据重新加载到表中。这在大多数情况下非常有效,只需为字段的名称提供一个数组名称,如

<input  type="text" name="phone[]" value="123-123-1234"/>

对于每个元素。提交表单后,我读取数组并加载数据

当我想使用通常以这种方式存储的单选按钮时会出现问题,因为它需要将收音机的选项标识为一个打开另一个关闭的数组,然后将答案存储在无线电元素所以

YES<input  type="radio" name="choice[]" value="YES"/> NO<input  type="radio" name="choice[]" value="NO"/> 

为您提供每次迭代的选项。因此,当我存储来自所有这些组的数据时,我需要每个选择数组的单独选项与每组元素中的其他元素匹配

我尝试做这样的事情,但运气不佳

        echo'   Yes <input type="radio" name="type'.$c.'[]" value="IT" checked="checked"/>';
    echo'   No <input type="radio" name="type'.$c.'[]" value="NON"/>';

在迭代 $c 的循环内部,所以我最终得到 type1[]、type2[] type3[] 等,其中数字也与 phone 数组中的元素匹配,因此 phone[$c] 在同一个组中作为在 type$c[0] 中存储 YES 或 NO 的选择,这在表单中效果很好,因为每个组单选按钮元素在没有 type.$c 的情况下独立于其他元素变为是或否。$c 它将它们全部组合成一个块单选按钮,只能选择一个选项。

也许我想多了,只是太专注于这种方法,以至于我看不到更简单的方法。如果我确实错过了 KISS 解决方案,请不要过多抨击我,并可能为我提供答案。

【问题讨论】:

    标签: php arrays forms


    【解决方案1】:

    好吧,我找到了我想太多的解决方案 答案是在表单的radio元素中使用这种结构

        echo'   Yes <input type="radio" name="type['.$c.'][]" value="IT" checked="checked"/>';
    echo'   No <input type="radio" name="type['.$c.'][]" value="NON"/>';
    

    然后在解析表单参数时像这样读取单选值

    $choice=$type[$c][0]---同时增加$c

    所以我很接近

    【讨论】:

      猜你喜欢
      • 2015-10-08
      • 2017-07-07
      • 1970-01-01
      • 1970-01-01
      • 2020-07-17
      • 2010-10-13
      • 2018-06-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多