Ir para conteúdo

POWERED BY:

Arquivado

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

Fabio Henrique Rangel

INSERT INTO em múltiplas linhas

Recommended Posts

Ola Pessoal

 

To precisando muito de uma ajuda, gostaria de saber como faço para dar Varios Insert INTO para cada bloco de campos. vou explicar melhor abaixo

 

Tipo isso aqui

Tabela: Produto coluna: /id/nome/unidade/valor/
Bloco1
<input type="text" name="ID"      value"1">
<input type="text" name="nome"    value"produto1" >
<input type="text" name="unidade" value"unidade1">
<input type="text" name="valor"   value"valor1">
Bloco2
<input type="text" name="ID"      value"id2">
<input type="text" name="nome"    value"produto2">
<input type="text" name="unidade" value"inidade2" >
<input type="text" name="valor"   value"valor2">
Bloco3
<input type="text" name="ID"      value"id3">
<input type="text" name="nome"    value"produto3" >
<input type="text" name="unidade" value"unidade3" >
<input type="text" name="valor"   value"valor3">

Queria que cada bloco desse fosse inserido em uma nova linha na tabela
exemplo
/id /  nome   /unidade/ valor /
 1    produ1    unid1  valor1
 2    produ2    unid2  valor2
 3    produ3    unid3  valor3

senão houver nenhum dado no bloco não grave o bloco

Desde já agradeço a todos pela ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mande os dados como array multidimensional. Na página que receber os dados você manipula eles!

Bloco1
<input type="text" name="dados[]['ID']"      value"1">
<input type="text" name="dados[]['nome']"    value"produto1" >

Bloco2
<input type="text" name="dados[]['ID']"      value"1">
<input type="text" name="dados[]['nome']"    value"produto1" >

acho que resolveria seu problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mande os dados como array multidimensional. Na página que receber os dados você manipula eles!

Bloco1
<input type="text" name="dados[]['ID']"      value"1">
<input type="text" name="dados[]['nome']"    value"produto1" >

Bloco2
<input type="text" name="dados[]['ID']"      value"1">
<input type="text" name="dados[]['nome']"    value"produto1" >

acho que resolveria seu problema.

 

Ola Amigo Obrigado pela resposta mais vc teria um exmplo de como ficaria o INSERT

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não creio que precise necessariamente ser multidimensional.Seria melhor assim:

 

 

<input type="text" name="ID[]" value="id3"> 
<input type="text" name="nome[]" value="produto3" > 
<input type="text" name="unidade[]" value="unidade3" >
 <input type="text" name="valor[]" value="valor3">

 

Alterei o atributo value (adicionei o =)

 




			
		

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Não creio que precise necessariamente ser multidimensional.Seria melhor assim:

 

 

<input type="text" name="ID[]" value="id3"> 
<input type="text" name="nome[]" value="produto3" > 
<input type="text" name="unidade[]" value="unidade3" >
 <input type="text" name="valor[]" value="valor3">

 

Alterei o atributo value (adicionei o =)

 


 

Realmente, olhando bem não necessitaria de ser multidimensional!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um exemplo tosco. Lembre de tratar os dados advindos do formulário.

 

<form method="post">
<input type="text" name="ID[]" value="id2">
<input type="text" name="nome[]" value="produto2" >
<input type="text" name="unidade[]" value="unidade2" >
 <input type="text" name="valor[]" value="valor2">
<br />
<input type="text" name="ID[]" value="id3">
<input type="text" name="nome[]" value="produto3" >
<input type="text" name="unidade[]" value="unidade3" >
 <input type="text" name="valor[]" value="valor3">
 <input type="submit" >
</form>

<?php
$variavel="";
extract($_POST);
$cont=count($_POST['ID']);

for($i=0;$i<$cont;$i++){
    $variavel .="insert into TABELA (campoID,camponome,campounidade,campovalor) values  ($ID[$i],$nome[$i],$unidade[$i],$valor[$i]); ";
}
    echo  $variavel;///aqui vai o mysql_query ou equivalente
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais como eu faria no na inserção como

comecei a desenhar como o codigo a baixo mais ainda não estou sabendo como fazer

 


if (isset($_POST['nome[]'])) {
   foreach ($_POST['nome[]'] as nome) {

$sql = mysql_query("INSERT INTO produtos (id,nome,valor,unit)VALUES('$id','$nome','$valor','$init')", $conexao) or die( mysql_error());
   
    $result = mysql_query($sql);
}}
mysql_close();
 


 

Um exemplo tosco. Lembre de tratar os dados advindos do formulário.

 

<form method="post">
<input type="text" name="ID[]" value="id2">
<input type="text" name="nome[]" value="produto2" >
<input type="text" name="unidade[]" value="unidade2" >
 <input type="text" name="valor[]" value="valor2">
<br />
<input type="text" name="ID[]" value="id3">
<input type="text" name="nome[]" value="produto3" >
<input type="text" name="unidade[]" value="unidade3" >
 <input type="text" name="valor[]" value="valor3">
 <input type="submit" >
</form>

<?php
$variavel="";
extract($_POST);
$cont=count($_POST['ID']);

for($i=0;$i<$cont;$i++){
    $variavel .="insert into TABELA (campoID,camponome,campounidade,campovalor) values  ($ID[$i],$nome[$i],$unidade[$i],$valor[$i]); ";
}
    echo  $variavel;///aqui vai o mysql_query ou equivalente
?>

Po acho que é isso mesmo vou testar aqui Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites
Seguindo meu exemplo 
$result = mysql_query($variavel) or die ("Erro ao inserir");//lembrando que o die encerra o fluxo da aplicação

if($result){
  echo "Dados inseridos";
}


 

 

 

 




			
		

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Seguindo meu exemplo 
$result = mysql_query($variavel) or die ("Erro ao inserir");//lembrando que o die encerra o fluxo da aplicação

if($result){
  echo "Dados inseridos";
}


 

 

 

 


Ola MArcos seu codigo esta ok era isso mesmo, só estou com um probleminha. só esta gravando no db a coluna nome valor unidade não estão oque pode ser?

 

segue o codigo

<?
include ("../config.php"); 
?>

<form method="post">
<input type="text" name="ID[]" value="2"/>
<input type="text" name="nome[]" value="produto2" />
<input type="text" name="unidade[]" value="unidade2" />
 <input type="text" name="valor[]" value="valor2"/>
<br />
<input type="text" name="ID[]" value="id3"/>
<input type="text" name="nome[]" value="produto3" />
<input type="text" name="unidade[]" value="unidade3" />
 <input type="text" name="valor[]" value="valor3"/>
 <input type="submit" />
</form>

<?php
$variavel="";
extract($_POST);
$cont=count($_POST['ID']);

for($i=0;$i<$cont;$i++){
    
    
    

    $variavel .=mysql_query ("insert into incluidos2 (id,nome,unid,valor) 
values ('$ID[$i]','$nome[$i]','$unidade[$i]','$valor[$i]')", $conexao)
    or die( mysql_error());
}
    echo  $variavel;///aqui vai o mysql_query ou equivalente
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça o seguinte:

 

Retire mysql_query deixando como abaixo.

 

 

 

$variavel .="insert into incluidos2 (id,nome,unid,valor) values ('$ID[$i]','$nome[$i]','$unidade[$i]','$valor[$i]')";

E abaixo desse trecho de um

 

 

die($variavel);

E poste a saída aqui.

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.