我有一个这样的表格:
<input name="form[AttendeesInstitution][]" type="text">
<input name="form[AttendeesInstitution][]" type="text">
当使用Firefox开发人员工具时,我可以从我的$ _POST中看到我有一个有效的值数组。我的问题是它被提交到数据库,如“Flexsus Brugsen”。我需要它是这样的逗号分隔值:“Flexsus,Brugsen”。 我试图在一个有限的Joomla组件中构建它,所以我可以在_POST之前做一些jQuery或在_POST上做一些PHP。但我找不到解决方案: - (
编辑:删除了HTML ID
答案 0 :(得分:0)
请为每个元素设置不同的ID,然后您就可以使用此代码了。
以下是如何做到这一点
<?php
$post = array();
foreach($_POST as $key=>$value){
$post[$key]= $post[$key].', '.$value;
}
/* Now $post will look as what you want*/
?>
答案 1 :(得分:0)
你可以使用php implode()函数
<?php
...
implode(",",$_POST["form"]["AttendeesInstitution"]);
...
?>
答案 2 :(得分:0)
我认为你假设$_POST
被设置为
$_POST["form"]["AttendeesInstitution"][]
实际上我会想象它被设置为(我需要看到print_r($_POST)
的输出是确定的。)
$_POST["form[AttendeesInstitution]"][]
因此,您访问它的方式应该是Undefined index
您有两种方法可以解决此问题
像你拥有它一样循环数组,但可能不是你想要的:
foreach($_POST["form[AttendeesInstitution]"] as $k=>$v){
//Stuff you do here
}
或更新您的表单输入以按照您想要的方式生成数据,因为$_POST
已经是数组。
<input name="[form][AttendeesInstitution][]" type="text">
<input name="[form][AttendeesInstitution][]" type="text">
我也不能100%测试这个。
答案 3 :(得分:0)
$formData = $this->input->post->get('form', array(), 'array');
$attendeesInstitution = implode(',', $formData['AttendeesInstitution']);