我有一个包含大约50个输入复选框的页面,其中包含
name="form[]"
我需要我的php脚本能够循环遍历所有复选框,并且检查和提交哪些复选框我需要将其放入变量中,以便我可以存储给定的哪个表单。
这是我的循环:
if ($this->input->post('action') == 'additional') { // Checks if radio button was checked
foreach ($this->input->post('form') as $forms) { // If above ^^^ is true loop through form[]
$givenforms = ', '.$forms.''; // What ever form[] is in the array assign them to the givenforms variable
}
$comments = 'This student was given'.$givenforms.''; // The comment I want to store in the database
}
这只适用于一种形式(复选框)。如果由于某种原因我的客户需要给学生所有50个表格我想要$ comment ='这个学生被给了......................... ..........................(所有50种形式)'
非常感谢任何链接或提示。
答案 0 :(得分:4)
您使用=
覆盖每次迭代中的值而不是连接.=
,但我相信您可以将implode
用于您的用例:
if ($this->input->post('action') == 'additional') { // Checks if radio button was checked
$givenforms = implode(', ', $this->input->post('form'));
$comments = 'This student was given'.$givenforms;
}
答案 1 :(得分:1)
$givenforms = ', '.$forms.'';
是错误的,因为每次循环都会覆盖前一个
使用.=
(连接运算符)代替=
。
还要确保在使用$givenforms = "";
连接之前在循环外使用$givenforms .= ...........
设置变量
如果你不这样做,你会收到警告(或通知,不确定)。