我正在尝试创建一个表单来更新表中的多行数据。 该表有四列(可乐,colb,colc,cold)。 我正在动态生成表单,在我的视图中使用 foreach 循环。 目前我正在使用
text('cola[][cola]', $this->cola...
然后向下命名,然后填充表单字段。 这工作正常,除了它返回一个由四个数组(可乐、colb、colc、冷)组成的数组,这样我所有的 cola 值都在一个数组中,而我所有的 colb 值都在另一个数组中,等等。
我想要的是返回提交的每行的数组,这样我的结果将是这样的
0(cola=3, colb=7, colc=2, cold=99)
这样我就可以简单地使用 for 每个循环访问这些值。 但是,我是HTML补救者,似乎无法在表单元素上正确命名以完成此操作。 我知道答案是显而易见的,但我不断遇到我不想要的数组或仅从最后一行提交数据。
编辑以澄清...
用途
text('row[$this->key][cola]'
或
text('row[$i][cola]'
使用 $i 作为迭代器,将生成一个名称为 $i 或 $this->key 的数组,该数组仅返回提交的最后一行。删除引号,如
text(row[$i][cola]
导致未定义的常量,因为字符串是必需的。
我最接近成功的是
text('row['<php echo $i ?>'][cola]'
这实际上正确命名了表单元素,但会破坏元素本身。 它们呈现为纯文本,而不是输入框。 我真的有点疯狂。
''
用于字符串文字,您需要插值,""
.
$a = 'hi';
echo "$a there";
// hi there