Welcome Guest, Not a member yet? Register   Sign In
submit multiple rows in database
#1

Hello.
I'm trying to submit multiple rows in database. And I'm getting this error:
Filename: C:/xampp/htdocs/soluforma_ghm/system/database/DB_query_builder.php

Line Number: 1481

Can you please share some indications to solve my problem.
Thank in advance.


MY View :: added inputs

          // 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>');



MY Servicos_model

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);
    }
}
Reply
#2

(This post was last modified: 08-26-2018, 10:13 AM by Wouter60.)

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


Check if the data array contains any values that can't be inserted into your table.
Reply
#3

Thank you for the reply. I try print_r to check Array data and I get and empty Array.

Array
(
)
Reply
#4

The Array is now working.
I replace [] with () on $this->input->post[''][$i] I replace by on $this->input->post('')[$i].

On [formandos_servicos] => 972, the Array index is correct.
But are incorrect on:
[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

because the I'm count($this->input->post('formandos_servicos')); .
So I'm getting a mismatch between input type="checkbox" and the others input type="text" fields.








Array
(
[0] => Array
(
[title] => Ambiponto - Valorização e Gestão de Residuos, Lda
[slug] => ambiponto-valorização-e-gestão-de-residuos-lda
[area_servicos] => 3564 – Primeiros Socorros
[formadores_servicos] => Alexandre Esteves Ferrer
[data_servicos] => 2018-08-26
[nome_servicos] => Noções Básicas de Primeiros Socorros
[horas_servicos] => 7
[conteudos_servicos] => - Noções Básicas de Socorrismo – 2 hora
- Primeiro Socorro Básico – 2 hora
- Exame da Vitima – 1 hora
- Hemorragias – 2 hora

[formandos_servicos] => 972
[nome_funcionario_servicos] => Manuel Fonseca Correia Santos
[naturalidade_servicos] => Fornos Algodres
[data_nascimento_servicos] => 1960-11-15
[nacionalidade_servicos] => Portuguesa
[doc_identificacao_servicos] => 06130505 7ZY0
[validade_identificacao_servicos] => 2019-09-04
[anotacoes_servicos] =>
[categoria_servicos] => 1
[visivel_servicos] => 1
[utilizador_servicos] => 1
[criado_servicos] => 2018-08-26 23:16:34
[modificado_servicos] => 2018-08-26 23:16:34
)

)
Reply




Theme © iAndrew 2016 - Forum software by © MyBB