Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

romario@seg

inserir variavel no banco de dados mysql

Recommended Posts

if (isset($_POST['data']['ClientesEndereco'][0])) {
        
  $values = ''; 
  $fields = "(" . implode(",", array_keys($_POST['data']['ClientesEndereco'][0])) . ")";
  
  foreach ($_POST['data']['ClientesEndereco'] as $endereco) {
    $values .= "('" .implode("','", $endereco) . "'),";

  }

 


  
  $values = substr($values, 0, -1);
  $sql = 'INSERT INTO cliente_endereco ' . $fields  . ' VALUES ' . $values;

 

  $qur = mysqli_query($cnx, $sql);
    var_dump($quer);

 

tenho um formulario dinamico e gostaria de saber como faço para inserir no banco de dados nesse exemplo.

esse é o resultado que aparece na pagina de retorno :


 

INSERT INTO cliente_endereco (nome_tipo,cep,logradouro,numero,complemento,bairro,pais,cidade_id,codigo_cidade,nome_cidade,estado) VALUES ('','','','','','','','','','','')

 

porem como faço para inserir no banco de dados?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O principio é o mesmo, você já fez com array_keys pegando o nome, agora use array_value para pegar os valores.

 

:thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites
15 minutos atrás, Williams Duarte disse:

O principio é o mesmo, você já fez com array_keys pegando o nome, agora use array_value para pegar os valores.

 

:thumbsup:

desculpe sou leigo esse codigo já foi um rapaz daqui do forum que me passou, não sei bem como fazer, só queria prosseguir com o codigo que ele me deu, mas se tem outro jeito melhor de iserir os dados de uma tabela dinamica, pode me dizer ?

 

 

 

ficaria assim ? :

$field = "(" . implode(",", array_keys($_POST['data']['ClientesContato'][0])) . ")";

$field = "(" . implode(",", array_values($_POST['data']['ClientesContato'][0])) . ")";

Compartilhar este post


Link para o post
Compartilhar em outros sites
18 horas atrás, Williams Duarte disse:

O principio é o mesmo, você já fez com array_keys pegando o nome, agora use array_value para pegar os valores.

 

:thumbsup:

eu consegui enserir no banco, porem quando adiciono mais de 1 endereço eles são gravados com id diferente, e a parte do contato quando adiciono mais do que 1 contato não é são nenhum só quando adiciono 1 contato!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vá debugando o código e ajustando.

 

var_dump

print_r

echo

 

echo usa-se para imprimir a query, separa ela do método que faz a inserção no DB.

 

Se esta inserindo no DB 2x, alguma coisa esta errada, esta usando foreach?

 

Se estiver, não há porque usar!

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente algo assim:

 

$contador = count($_post);

  for($i=0; $i < $contador; $i++);

{

    $field = "(" . implode(",", array_keys($_POST['data']['ClientesContato'][$i)) . ")";

    $values = "(" . implode(",", array_values($_POST['data']['ClientesContato'][$i])) . ")";

 

    //$values = substr($values, 0, -1);
    $sql = 'INSERT INTO cliente_endereco ' . $fields  . ' VALUES ' . $values;

 

   ///resto do seu código 

    $qur = mysqli_query($cnx, $sql);
    var_dump($quer);

 

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Willian Simione
      Boa Noite, alguem poderia me ajudar em uma situação, estou tetnando gravar os dados da tela abaixo, porem nao estou conseguindo montar o jeito certo pra ele gravar todos os dados de uma vez

    • Por Giovanird
      Tenho uma tabela com a coluna média (valor decimal) .
       
      cod | media | cod_sala 1 1,98 5 2 2,34 2 3 1,32 5 4 2,51 3 5 1,65 1 6 2,78 5 7 4,95 4 8 0,75 4 9 1,23 1 10 1,63 2 11 1,55 3 Preciso no select MYSQL ou dentro do foreach multiplicar os valores do campo média, de acordo com o fitro por cod_sala
      Exemplo pelo cod_sala: 5
      Sendo o resultdo final: 1,98 * 1,32 * 2,78 = 7,26

      Desde já agradeço!
    • Por Giovanird
      Listo um array pelo foreach e preciso pegar os valores fora do foreach.
      Abaixo tenho o exemplo do foreach com os valores
       
      <?php foreach($turma $rsturma): if(($rsturma['id'] == 1){ echo $rsturma['nome']."<br>"; echo $rsturma['idade']."<br><br>"; } endforeach; //Dentro do foreach me retorna: Luis 13 Maria 12 Carlos 12 Matheus 14 Andréa 12 //Preciso pegar a posição e o valor desta lista $posicao1 = 1; $nome1 = Luis; $posicao2 = 2; $nome2 = Maria; $posicao3 = 3; $nome3 = Carlos; $posicao4 = 4; $nome4 = Matheus; $posicao5 = 5; $nome5 = Andréa;  
    • Por Ruyter
      Estou com problema para resolver uma solução que estou necessitando. Toda ajuda será bem-vinda!
       
      Tenho uma tabela onde há vários registros com um mesmo IDENTIFICADOR e vários INDENTIFICADORES diferentes em uma mesma coluna.
      Como percorrer os registros de uma tabela, com base nos IDENTIFICADORES?
      Preciso também analisar um período por data (>= e <=) e ABSTRAIR deste período o valor MIN e MAX de uma outra coluna
      Esta consulta precisa ser realizada em cada IDENTIFICADOR DISTINTO?
       
      Já utilizei o BETWEEN, mas ao usar o código com o foreach() no PHP ele lê apenas um registro.
      O código que estou trabalhando é este:
       
      SELECT conf_hidro_inatividade, cons_reg_ident_iot, cons_data, MIN(cons_leitura_atual), MAX(cons_leitura_atual), hidro_valvula, hidro_cliente FROM tab_conf_hidro, tab_consumo INNER JOIN tab_hidrometros ON cons_reg_ident_iot = hidro_ident_iot WHERE cons_reg_ident_iot = '20220701001' and conf_hidro_inatividade = 'sim' and hidro_valvula = 'aberta' and cons_data BETWEEN '2022-10-10' and '2022-10-13';  
      Com:

       
      SELECT conf_hidro_inatividade, cons_reg_ident_iot, cons_data, cons_leitura_atual, hidro_valvula, hidro_cliente /*(sem o MIN e MAX na mesma coluna)*/ WHERE cons_reg_ident_iot != ' ' and conf_hidro_inatividade = 'sim' and hidro_valvula = 'aberta';  
      usando dentro do foreach(), percorre todos os registros.
    • Por k9studio
      Meus amigos,
      preciso de um help
      seguinte tenho um credito quero lançar em varias faturas eum foreach até o valor do credito
      tipo exemplo a baixo:
      $credito = 100;
      foreach($shows as $rows){
      fatura 1 Valor 20,00  -100 marca como pago
      fatura 2 Valor 20,00  -80  marca como pago
      fatura 3 Valor 20,00  -60  marca como pago
      fatura 4 Valor 20,00  -40  marca como pago
      fatura 5 Valor 30,00  -20  aqui deixa como não pago
      }
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.