Сообщение: implode(): Передаются недопустимые аргументы, если значение флажка не имеет никакой записи или пустое

#codeigniter

#codeigniter

Вопрос:

При добавлении записей в базу данных. Некоторые поля отображаются в соответствии с выбором, при этом некоторые поля флажка не отображаются. Тогда передаваемые значения пусты.

 $data = array(
        'pro_name'=>$this->input->post('pro_name'),
        'c_id'=>$this->input->post('c_id'),
        's_id'=>$this->input->post('s_id'),
        'pro_price'=>$this->input->post('pro_price'),
        'c_name'=>$c_name,
        's_name' => $s_name,
        'power_consumption'=>$this->input->post('power_consumption'),
        'model'=>$this->input->post('model'),
        'type'=>$this->input->post('type'),
        'cutout_size'=>$this->input->post('cutout_size'),
        'cct' => substr(implode(', ', $this->input->post('cct')), 0),  
        'feet' => substr(implode(', ', $this->input->post('feet')), 0),         
        'p_application' => substr(implode(', ', $this->input->post('p_application')), 0),  
        'p_desc'=>$this->input->post('p_desc'),
        'pro_status'=> '5'
    );
    //print_r($data); die();
    $this->db->insert('product',$data);
  

если столбец cct отсутствует в моей форме в соответствии с выбором поля, тогда он устанавливает значение в 0 или удаляет

Сообщение: implode(): переданы недопустимые аргументы.

Ответ №1:

Не добавляйте cct в $data массив

Сначала проверьте, cct не пусто ли, затем используйте implode()

 if($this->input->post('cct')){
   $data['cct'] = substr(implode(', ', $this->input->post('cct')), 0);
} 
  

И то же самое для других, которые используют implode()