Codeigniter提交数据库中的多行

时间:2018-08-26 00:13:30

标签: codeigniter form-submit

我正在尝试在数据库中提交多行。我收到此错误: 文件名:C:/xampp/htdocs/soluforma_ghm/system/database/DB_query_builder.php 行号:1481

可以请您分享一些适应症来解决我的问题。 预先感谢。

带有AJAX追加的我的视图文件。这样我可以添加多个输入

// Add options
$.each(response,function(index,data){
    $('#sel_depart').append(
        '<div class="form-check">'+
        '<input type="checkbox" name="formandos_servicos[]"  value="'+data['id']+'">'+
        '<input type="text" name="nome_funcionario_servicos[]" value="'+data['title']+'" >'+
        '<input type="text" name="naturalidade_servicos[]" value="'+data['naturalidade']+'" placeholder="Naturalidade">'+
        '<input type="text" name="data_nascimento_servicos[]" value="'+data['data_nascimento']+'" placeholder="Data Nascimento">'+
        '<input type="text" name="nacionalidade_servicos[]" value="'+data['nacionalidade']+'" placeholder="Nacionalidade">'+
        '<input type="text" name="doc_identificacao_servicos[]" value="'+data['doc_identificacao']+'" placeholder="Documento de Identificacão">'+
        '<input type="text" name="validade_identificacao_servicos[]" value="'+data['validade_identificacao']+'" placeholder="Validade CC">'+
        '</div>'
    );
}

我的Servicos_model。我在计算$ this-> input-> post ['formandos_servicos']并提交多行。

public function set_servicos($id = 0) {
    $this->load->helper('url');
    $slug = url_title($this->input->post('title'), 'dash', TRUE);
    $data = array();

    $count = count($this->input->post['formandos_servicos']);

    for($i = 0; $i < $count; $i++) {
        $data[] = array(
            'title' => $this->input->post('title'),
            'slug' => $slug,
            'area_servicos' => $this->input->post('area_servicos'),
            'formadores_servicos' => $this->input->post('formadores_servicos'),
            'data_servicos' => $this->input->post('data_servicos'),
            'nome_servicos' => $this->input->post('nome_servicos'),
            'horas_servicos' => $this->input->post('horas_servicos'),
            'conteudos_servicos' => $this->input->post('conteudos_servicos'),

            'formandos_servicos' => $this->input->post['formandos_servicos'][$i],
            'nome_funcionario_servicos' => $this->input->post['nome_funcionario_servicos'][$i],
            'naturalidade_servicos' => $this->input->post['naturalidade_servicos'][$i],
            'data_nascimento_servicos' => $this->input->post['data_nascimento_servicos'][$i],
            'nacionalidade_servicos' => $this->input->post['nacionalidade_servicos'][$i],
            'doc_identificacao_servicos' => $this->input->post['doc_identificacao_servicos'][$i],
            'validade_identificacao_servicos' => $this->input->post['validade_identificacao_servicos'][$i],

            'anotacoes_servicos' => $this->input->post('anotacoes_servicos'),
            'categoria_servicos' => $this->input->post('categoria_servicos'),
            'visivel_servicos' => $this->input->post('visivel_servicos'),
            'utilizador_servicos' => $this->input->post('utilizador_servicos'),
            'criado_servicos' => $this->input->post('criado_servicos'),
            'modificado_servicos' => $this->input->post('modificado_servicos')
        );
    }
    if ($id == 0) {
        return $this->db->insert_batch('servicos', $data);
    }
}

3 个答案:

答案 0 :(得分:0)

您可以使用$this->db->last_query();来了解对数据库中插入的数据执行的查询是什么。 与echo()

答案 1 :(得分:0)

感谢您的回复。 我尝试用print_r检查Array数据,然后获取并清空Array

if ($id == 0) {
//return $this->db->insert_batch('servicos', $data);
echo '<pre>';
print_r($data);
echo '</pre>';
die();
} 

print_r结果:

Array
(
)

答案 2 :(得分:0)

阵列现在正在工作。 我用

上的()替换[]
$this->input->post[''][$i] 

$this->input->post('')[$i]

在[formandos_servicos] => 972上,数组索引正确。 但是在以下方面不正确:

[nome_funcionario_servicos] => Manuel Fonseca Santos
[naturalidade_servicos] => Fornos Algodres
[data_nascimento_servicos] => 1960-11-15
[nacionalidade_servicos] => Portuguesa
[doc_identificacao_servicos] => 1524575 7ZY0
[validade_identificacao_servicos] => 2019-09-04

因为我在数:

count($this->input->post('formandos_servicos'));

我在输入type =“ checkbox”和其他输入type =“ text”字段之间不匹配。