从CodeIgniter中循环创建的表单中获取post值

时间:2016-05-07 09:34:08

标签: php codeigniter

我需要在循环中创建的表单中发布值。这是我的观点

<?php echo form_open('test/'.$id); ?>
   for($i=0;$i<count($array['value']);$i++) 
 <input type="text" name="name[]" value="<?php echo $array['value'][$i]?>" />
<input type="submit" /> 
  <?php }?>
<?php echo form_close(); ?>

我的控制器

function test ($id)
{ 
    echo $this->input->post('name'),
}

这会返回一个值数组,但我需要提交的id值。

我需要从对应于id的数组中获取变量,例如,如果i = 2,如果我提交第二种形式,则将有3种形式单独需要发布第二种形式的值,但是这里我得到的是数组

3 个答案:

答案 0 :(得分:0)

查看代码可能就像这样

SELECT
    CASE WHEN d.dtype = 'Division' THEN 'nil'
    ELSE (SELECT name FROM dmp WHERE id = d.parent)
    END AS name
FROM dmp d

控制器代码应为

<?php 

foreach($array['value'] as $key=>$value)//for loop was out of php tag
{ 
  echo form_open('controller/test/'.$id);// see controller name here 
 ?>         
   <input type="text" name="name" value="<?php echo $value;?>" />
   <input type="submit" name="submit_<?php echo $key; ?>" /> 
<?php echo form_close(); 
} ?>

答案 1 :(得分:0)

帖子名称是一个数组,所以你可以像这样使用

$data = $this->input->post('name');
foreach($data as $key=>$val)
{
   echo $val;
}

答案 2 :(得分:0)

你为什么不用这种方式制作三种形式?我没有测试过但请检查一下这是否可以给你结果:

 for($i=0;$i<count($array['value']);$i++) 
  <?php echo form_open('test/'.$id); ?>
    <input type="text" name="name" value="<?php echo $array['value'][$i]?>" />
        <input type="submit" /> 

        <?php echo form_close(); ?>
    <?php }?>


//this is controller function 
function test($id) 
 {
    echo $id;
 }