skr*_*ibe 2 arrays codeigniter insert
我在Codeigniter中创建了一个表单,其中包含一个使用javascript动态复制的电话号码字段.所以基本上我可以有一个或多个这样的字段.
<input name="phone[]" value=""type="text">
<input name="phone[]" value=""type="text">
Run Code Online (Sandbox Code Playgroud)
然后在我的控制器中我有
$form_data = array(
'first_name' => $this->input->post('first_name'),
'last_name' => $this->input->post('last_name'),
'phone' => $this->input->post('phone[]')
);
Run Code Online (Sandbox Code Playgroud)
然后我就这样把它保存到我的dabase中
function SaveForm($form_data)
{
$this->db->insert('customers', $form_data);
if ($this->db->affected_rows() == '1')
{
return TRUE;
}
return FALSE;
}
Run Code Online (Sandbox Code Playgroud)
但显然"手机"的代码是错误的,我只是想弄清楚如何正确地做到这一点.
你无法将数组保存到数据库中.您可以将它转换为字符串使用,implode()并在需要时将其转换回使用数组explode().如下
$phone=implode(',',$this->input->post('phone'));
$form_data = array(
'first_name' => $this->input->post('first_name'),
'last_name' => $this->input->post('last_name'),
'phone' => $phone
);
Run Code Online (Sandbox Code Playgroud)
要么
你可以将它转换为json字符串,当你需要转换回数组时如下所示:
$phone = json_encode($this->input->post('phone'));
Run Code Online (Sandbox Code Playgroud)
转换回数组
$phone = json_decode($phone, TRUE);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20543 次 |
| 最近记录: |