这是我的观点(代码点火器):
<?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"存储在复选框的值中
如果你想发送一个数组,那么你需要使用JSON把它变成一个字符串:
echo form_checkbox('requests[]' , json_encode($mediator) , TRUE);
你应该这样做:
// 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。您无需发送姓名。