我在 Codeigniter 中创建了一个表单,其中包含一个使用 javascript 动态复制的电话号码字段。所以基本上我可以拥有一个或多个这样的字段。

<input name="phone[]" value=""type="text"> 
<input name="phone[]" value=""type="text"> 

然后在我的 Controller 中我有

$form_data = array( 
    'first_name' => $this->input->post('first_name'), 
    'last_name' => $this->input->post('last_name'), 
    'phone' => $this->input->post('phone[]') 
    ); 

然后我像这样将它保存到我的数据库中

function SaveForm($form_data) 
{ 
    $this->db->insert('customers', $form_data); 
    if ($this->db->affected_rows() == '1') 
    { 
        return TRUE; 
    } 
    return FALSE; 
} 

但显然“电话”的代码是错误的,我只是不知道如何正确地做到这一点。

请您参考如下方法:

您不能将数组保存到数据库中。您可以使用 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 
        ); 

您可以将其转换为 json 字符串,并在需要时转换回数组,如下所示:

$phone = json_encode($this->input->post('phone')); 

转回数组

$phone = json_decode($phone, TRUE); 


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!