php,codeigniter - 如何将包含数组的变量作为其值传递到复选框的值字段中

时间:2016-01-22 14:31:56

标签: php codeigniter

这是我的观点(codeigniter):

<?php 
echo form_open('main/req_submit');
foreach($start as $mediator){
    echo form_checkbox('requests[]' , '$mediator' , TRUE);
    foreach($mediator as $key => $val){
        echo $key . " : " . $val;
        echo "</br>";
    }
}
echo form_submit('mysubmit', 'Approve Requests');
echo form_close();
?>

我希望将存储在$ mediator中的数组传递给相应复选框的值。在上面提到的代码中,它将文本'$ mediator'存储在复选框的值

2 个答案:

答案 0 :(得分:0)

如果要发送数组,则需要使用JSON将其转换为字符串:

echo form_checkbox('requests[]' , json_encode($mediator) , TRUE);

答案 1 :(得分:0)

你应该这样做:

// sample $start data
$start = array(
    array(
        'id' => 20,
        'student_name' => 'Sam'
    ),
    array(
        'id' => 18,
        'student_name' => 'John'
    ),
    array(
        'id' => 3,
        'student_name' => 'Bob'
    )
);

echo form_open('main/req_submit');
foreach ($start as $mediator) {
    echo form_checkbox('mediator_ids[]', $mediator['id'], TRUE);
    echo $mediator['student_name'] . "<br>";
}
echo form_submit('mysubmit', 'Approve Requests');
echo form_close();

这将发送如下的POST请求:

array (size=2)
  'mediator_ids' => 
    array (size=3)
      0 => string '20' (length=1)
      1 => string '18' (length=1)
      2 => string '3' (length=1)
  'mysubmit' => string 'Approve Requests' (length=16)

那么,你的PHP可以捕获ID。你不需要发送名字。