как сохранить несколько значений флажка в базе данных с помощью codeigniter

<tr><th>Option Subject</th>
 <th>
<input type="checkbox" name="skills" id="skills[]" value="C++"> C++<br>
<input type="checkbox" name="skills" id="skills[]" value="JAVA"> JAVA<br>
<input type="checkbox" name="skills" id="skills[]" value="HTML"> HTML<br>
<input type="checkbox" name="skills" id="skills[]" value="PHP"> PHP<br>
<input type="checkbox" name="skills" id="skills[]" value="ASP.NET">ASP.NET<br>
<font color="#FF0000"><?php echo form_error('skills');?></font>
 </th>
</tr>

controller public function insert() { $skills=$this->form_validation->set_rules('skills', 'Option Subject','required');

$data = array(
    'skills' => implode(",", $skills);       
);
}



if(isset($options['skills'])) 
 $this->db->set('skills',($options['skills']));  
 $this->db->insert("regi_user");  
 return $this->db->insert_id();  

person Kiran Patil    schedule 09.04.2018    source источник


Ответы (2)


Вы должны преобразовать вложенное значение в строку.

Попробуйте следующий код

 $data = array(
        'skills' => json_encode(implode(",", $skills));       
    );

    $this->db->insert("regi_user");  
    return $this->db->insert_id();  
person Roshni hegde    schedule 09.04.2018
comment
Не работает @Roshni - person Kiran Patil; 09.04.2018

Чтобы добавить несколько значений в таблицу, попробуйте следующий код.

$language = $this->input->post('skills');

if (is_array($language) && !empty($language))
{
    foreach($language as $lan)
    {
        $insert['language'] = $lan;
        $this->db->insert("table name");
    }
}
person Ravi Thanki    schedule 09.04.2018
comment
Контроллер public function insert() { $skills=$this-›form_validation-›set_rules('skills', 'Option Subject','required'); Как вставить несколько значений в базу данных - person Kiran Patil; 09.04.2018