【问题标题】:form submit only giving last value in a loop codeigniter表单提交仅在循环codeigniter中给出最后一个值
【发布时间】:2016-05-07 06:38:52
【问题描述】:

这是我的看法

 <?php for($i=0;$i<count($acb['def']);$i++) { ?>
<input type="text" name="xyz" value="<?php echo $abc['def'][$i]?>" />?>

这是我的控制器

 $xxx=$this->input->post('xyz')

现在,当我提交表单时,最后一个值只会发布到控制器

然后我发现所有字段的名称都相同,所以它取最后一个值,所以我将输入名称更改为

name ='xyz[$i]'

现在我需要发布值,如何用这个发布值

【问题讨论】:

  • 使用name="xyz[]"
  • 如果你打印 $xxx 在你输入 name = 'xyz[i]' 之后它会说什么?

标签: php codeigniter for-loop


【解决方案1】:

您需要在此处将名称作为数组重命名为 'xyz[]'

<input type="text" name="xyz[]" value="<?php echo $abc['def'][$i]?>" />?>

【讨论】:

  • 如何获取值控制器?
  • $this-&gt;input-&gt;post('xyz') 将是一个数组
  • 我不想作为一个数组我需要作为值所以如何获得
  • 最后插入一个变量:w3schools.com/php/func_string_implode.asp
  • 这里所有值都在数组中传递,但我只想发布选定的字段而不是传递所有值
【解决方案2】:

你使用下面的代码...

<?php for($i=0;$i<count($acb['def']);$i++) { ?>
  <input type="text" name="xyz[]" value="<?php echo $abc['def'][$i]?>" />
?>

【讨论】:

  • 虽然发布所有值都在数组中传递,但我只想发布选定的字段而不是传递所有值.. 怎么做
猜你喜欢
  • 2015-06-08
  • 2015-03-24
  • 2020-11-15
  • 2017-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多