2016-01-22 34 views
0

这里是我的一块视图(笨)的:PHP,笨 - 如何包含数组作为其值的变量传递到一个复选框的value字段

<?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(); 
?> 

我想存储在$调解数组传递进入相应复选框的值。在上述代码中,它被存储在复选框的值字面“$调解员”

回答

0

,如果你要发送一个数组,那么你需要使用JSON把它变成一个字符串:

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

谢谢,它的工作!但是,那么我该如何做这样的事情:$ mediator ['id']?(如果id是数组中的键) –

+0

你是什么意思?你能解释得更好吗? – CodeGodie

+0

实际上,$ mediator就是这样一个数组:'student_name'=>'Sam','id'=> 1等等。那么如何访问数组中的id键的值呢? –

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。你不需要发送名字。

相关问题