Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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"><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"><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
>
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" >Ola Amigo Obrigado pela resposta mais vc teria um exmplo de como ficaria o INSERT
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 =)
>
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!
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
?>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 ObrigadoSeguindo 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";
}>
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) or die( mysql_error());
}
echo $variavel;///aqui vai o mysql_query ou equivalente
?>Tenta retirando as aspas simples dos campos numéricos.
$ID[$i],'$nome[$i]',$unidade[$i],$valor[$i]
>
Tenta retirando as aspas simples dos campos numéricos.
$ID[$i],'$nome[$i]',$unidade[$i],$valor[$i]
Cara Descula. erro meu aqui no Banco ok já está tudo funcionando
Obrigado pela Ajuda Valeu Mesmo
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.
Mande os dados como array multidimensional. Na página que receber os dados você manipula eles!
Bloco1
Bloco2
acho que resolveria seu problema.