Ir para conteúdo

Arquivado

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

R_MontSerrat

[Resolvido] Inserir array no mesmo campo no BD

Recommended Posts

Boa tarde pessoal,

tenho um formulário com um loop de repetição de um input "nome_acompanhante[]" mas não sei como inseri-lo no banco de dados

Abaixo está o código php

 

$evento = $_POST["titulo"];
$nome = $_POST["nome"];
$email = $_POST["email_para"];
$confirmo = $_POST["confirmo"];
$acompanhante = $_POST["acompanhante"];
$nome_acompanhante = $_POST["nome_acompanhante"];


foreach( $nome_acompanhante as $nome_acompanhante ) {
  echo $nome_acompanhante.'<br />';
}

  $stgsql = "INSERT INTO wp_acompanhantes(evento,nome,email,confirmo,acompanhante,nome_acompanhante)VALUES('$evento','$nome','$email','$confirmo','$acompanhante','$nome_acompanhante')";
  mysql_query($stgsql,$conect);

 

Alguem pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, pelo que entendi, terá N acompanhantes para 1 pessoa, certo?

 

Aí a dúvida: Como você quer salvar o nome dos acompanhantes? Separando por ponto e virgula? Por exemplo

Acompanhante1;Acompanhante2;Acompanhante3

 

Ou cada um em uma linha?

 

Se for a segunda opção, não seria melhor você criar outra tabela "Acompanhante" e nela salvar o ID da tabela principal com o nome dos acompanhantes? Dessa forma é só salvar seguindo a lógica que já está em seu script...

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Velho assim fica mais fácil:

 

Segue o exemplo:

 

<?php

// Array simulando os dados vindos do campo "nome_acompanhante[]" do formulário.
$array_acompanhante = array('Guilherme', 'João', 'Flávio', 'Pedro');

// Serialização do array.
$lista_serializada = serialize($array_acompanhante);

// Mostrando resultado.
echo $lista_serializada . "<br/><br/>";

/*
* a:4:{i:0;s:9:"Guilherme";i:1;s:4:"João";i:2;s:6:"Flávio";i:3;s:5:"Pedro";}
* 
* essa linha pode ser guardada como texto em um campo do banco de dados.
* 
*/


// Finja que aqui tem um código que recupera os dados do banco.


// Apos a recuperação eu unserializo a lista e guardo numa varialvel.
$lista_unserializada = unserialize($lista_serializada);


// Mostro o que tem na variável.
echo'<pre>';
print_r($lista_unserializada);
echo'</pre>';

/*
* A saída será um array:
* 
*  Array
*      (
*          [0] => Guilherme
*          [1] => João
*          [2] => Flávio
*          [3] => Pedro
*      )
* 
* então é só você pegar esse array e se divertir depois.
* 
*/

?>

 

Se tiver dúvidas GRITA aew!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Velho assim fica mais fácil:

 

Segue o exemplo:

 

<?php

// Array simulando os dados vindos do campo "nome_acompanhante[]" do formulário.
$array_acompanhante = array('Guilherme', 'João', 'Flávio', 'Pedro');

// Serialização do array.
$lista_serializada = serialize($array_acompanhante);

// Mostrando resultado.
echo $lista_serializada . "<br/><br/>";

/*
* a:4:{i:0;s:9:"Guilherme";i:1;s:4:"João";i:2;s:6:"Flávio";i:3;s:5:"Pedro";}
* 
* essa linha pode ser guardada como texto em um campo do banco de dados.
* 
*/


// Finja que aqui tem um código que recupera os dados do banco.


// Apos a recuperação eu unserializo a lista e guardo numa varialvel.
$lista_unserializada = unserialize($lista_serializada);


// Mostro o que tem na variável.
echo'<pre>';
print_r($lista_unserializada);
echo'</pre>';

/*
* A saída será um array:
* 
*  Array
*      (
*          [0] => Guilherme
*          [1] => João
*          [2] => Flávio
*          [3] => Pedro
*      )
* 
* então é só você pegar esse array e se divertir depois.
* 
*/

?>

 

Se tiver dúvidas GRITA aew!

 

 

Obrigado cara, isso funcionou, mas como eu insiro no banco de dados?

aqui é como eu estava inserindo antes

 

  $stgsql = "INSERT INTO wp_acompanhantes(evento,nome,email,confirmo,acompanhante,nome_acompanhante)VALUES('$evento','$nome','$email','$confirmo','$acompanhante','$nome_acompanhante')";
  mysql_query($stgsql,$conect);

 

Cacilds, é a primeira opção que quero.

Compartilhar este post


Link para o post
Compartilhar em outros sites

usando seu código e modificando ele ficaria assim:

 

$evento = $_POST["titulo"];
$nome = $_POST["nome"];
$email = $_POST["email_para"];
$confirmo = $_POST["confirmo"];
$acompanhante = $_POST["acompanhante"];
$nome_acompanhante = serialize($_POST["nome_acompanhante"]);

  $stgsql = "INSERT INTO wp_acompanhantes(evento,nome,email,confirmo,acompanhante,nome_acompanhante)VALUES('$evento','$nome','$email','$confirmo','$acompanhante','$nome_acompanhante')";
  mysql_query($stgsql,$conect);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, consegui dessa maneira, botei um Implode

 

$evento = $_POST["titulo"];
$nome = $_POST["nome"];
$email = $_POST["email_para"];
$confirmo = $_POST["confirmo"];
$acompanhante = $_POST["acompanhante"];
$nome_acompanhante = $_POST["nome_acompanhante"];
$nomes = implode(' ,',$nome_acompanhante);



  $stgsql = "INSERT INTO wp_acompanhantes(evento,nome,email,confirmo,acompanhante,nome_acompanhante)VALUES('$evento','$nome','$email','$confirmo','$acompanhante','$nomes')";
  mysql_query($stgsql,$conect);

 

Obrigado mesmo assim

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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