Insert de arrays php em mysql [RESOLVIDO]

1. Insert de arrays php em mysql [RESOLVIDO]

Allan Barcelos
allanbarcelos

(usa Debian)

Enviado em 16/09/2010 - 16:46h

galera tenho um form dinamico o qual se necessario gero mais campos por exemplo:
tenho uma linha com os seguintes campos:

nome, telefone, email

caso eu necessite adicionar mais de uma pessoa gero mais campos com um javascript ate ai tudo bem
soq ue não consigo fazer o insert de todos os "usuarios" cadastrados faço o insert apenas do ultimo, o meu javascript faz com que os dados enviados via post vao como array ou seja se tiver amis de 2 campos iria assim:

nome[0], telefone[0], email[0]
nome[1], telefone[1], email[1]

o meu probs é fazer com que o script php que recebe isso e envia para o banco capt os arrays e envie dierto para o banco todos

Obrigado pela atenção!


  


2. Re: Insert de arrays php em mysql [RESOLVIDO]

Fred Paranhos
metalpunkpointer

(usa Arch Linux)

Enviado em 17/09/2010 - 11:26h

cara o banco nao vai pegar o array direto, a menos que a coluna da tabela contenha um tipo array(seja caractere ou numeros)... mas vc pode inserir com um laço for, dai ele percorre todos os indices e vai inserindo... se vc quer passar tudo de uma vez vc pode fazer o seguinte:

ai vc deixa o html mais ou menos assim

<input type="text" name="dados[nome][0]" />
<input type="text" name="dados[nome][1]" />
<input type="text" name="dados[telefone][0]" />

depois na pagina que vc pega o post(ou get)

vc pega assim

$dados = $_POST['dados'];


$dados[nome][0]; #é o primeiro nome
$dados[nome][1]; # é o segundo nome

lembrando que $dados[nome] contem todos os indices(no caso o 0 e o 1) vc pode passar com for como foi sugerido ou passar direto (passando com $dados[nome]) se a coluna do banco for um array!

eu não testei esses passos, entao se der algum erro vc dar um
echo "<pre>"; print_r($_POST); exit;
e verifica o conteúdo do array, qualquer duvida da um up aqui denovo!


3. Rersolvido!

Allan Barcelos
allanbarcelos

(usa Debian)

Enviado em 17/09/2010 - 15:54h

for($a = $b = $c = $d = 0; $a < count($aluno), $b < count($nmatric), $c < count($turma), $d < count($obs); $a++, $b++, $c++, $d++){

$insert = "INSERT INTO `ctlpresenc`.`ctlpresenc` (`id`, `nivelamento`, `aprofundamento`, `serie`, `fundamental`, `medio`, `matutino`, `vespertino`, `disciplina`, `horario_inicio`, `horario_fim`, `data`, `matricula_aluno`, `nome_aluno`, `turma`, `observacoes`) VALUES ('', '$nivelamento', '$aprofundamento', '$serie', '$fundamental', '$medio', '$matutino', '$vespertino',' $disciplina', '$hora_ini', '$hoar_fim', '$data',' $nmatric[$b]','$aluno[$a]',' $turma[$c]','$obs[$d]');";

$query_insert = mysql_query($insert) or die (mysql_error());

}






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts