Crik 0 Denunciar post Postado Novembro 29, 2010 rsrsr na verdade, foi por isso que eu não sabia onde colocar! você me passou o código assim... já voltei ele como era antes... mas to nesse impasse! :( Compartilhar este post Link para o post Compartilhar em outros sites
Miyahira 0 Denunciar post Postado Novembro 29, 2010 Cola o seu arquivo inteiro.. que faz as inserções para eu dar uma olhada.. Compartilhar este post Link para o post Compartilhar em outros sites
Crik 0 Denunciar post Postado Novembro 29, 2010 Ok, antes disso, olha só: Tirei a Primary Key de um item da tabela e agora quando envio os dados do formulário, aparece a mensagem "Produto cadastrado com sucesso...". Porém, a tabela é alimentada com 00000. Segue código: <?php include "conecta_mysql.inc.php"; echo "<link href='style.css' rel='stylesheet' type='text/css' media='screen' />"; include "valida.php"; // Formata data aaaa-mm-dd para dd/mm/aaaa function databr($datasql) { if (!empty($datasql)){ $p_dt = explode('-',$datasql); $data_br = $p_dt[2].'/'.$p_dt[1].'/'.$p_dt[0]; return print $data_br; } } // Formata data dd/mm/aaaa para aaaa-mm-dd function datasql($databr) { if (!empty($databr)){ $p_dt = explode('/',$databr); $data_sql = $p_dt[2].'-'.$p_dt[1].'-'.$p_dt[0]; return $data_sql; } } // Formata item com . por , function ponto($virgula) { if (!empty($virgula)){ $p_vp = explode(',',$virgula); $ponto = $p_vp[0].'.'.$p_vp[1]; return $ponto; } } if ($valida){ $data = getdate(); $dataini = '$data[mday]'.'-'.'$data[mon]'.'-'.'$data[year]';/**/ $representante = $_POST['$nome'];/**/ $cidade = $_POST['cidade'];/**/ $estado = $_POST['estado'];/**/ $campanha = $_POST['campanha'];/**/ $periodo = datasql( $_POST['periodo']); $periodo2 = datasql( $_POST['periodo2']);/**/ $n = $_POST['inv'];/**/ for($i=1 ; $i<=$n ; $i++){ $item = $_POST['item'+$i];/**/ $data2 = datasql( $_POST['dataItem'+$i]);/**/ $valor = ponto( $_POST['valor'+$i]);/**/ $nf = $_POST['nf'+$i];/**/ $sql2 = "INSERT INTO itens(item,data2,valor,nf)VALUES('$item','$data2','$valor','$nf')"; $insere2 = @mysql_query($sql2); if ($n>20){ echo "Limite de 20 itens ultrapassado."; echo "<a href='menu_rev.php'>Voltar</a>"; } } $sql1 = "INSERT INTO historico(data,representante,cidade,estado,campanha,periodo,periodo2)VALUES(NOW(),'$nome','$cidade','$estado','$campanha','$periodo','$periodo2')"; $insere = @mysql_query($sql1); if ($insere && $insere2){ echo "Produto cadastrado com sucesso! Redirecionando...<META HTTP-EQUIV='Refresh' CONTENT='1 ; URL=menu_rev.php'>"; } else{ echo mysql_error (); } } @mysql_close($conexao); ?> Olha só, preciso sair do trabalho, vou pra faculdade... podemos continuar amanhã? Compartilhar este post Link para o post Compartilhar em outros sites
Miyahira 0 Denunciar post Postado Novembro 29, 2010 Tipo.. como você não está passando a PK na inserção, vefifica se a PK está com auto_increment ativo caso contrário não vai funcionar. Valida também na hora de inserir se os registros estão vindo do POST.. ele está rodando 20x.. e se você for cadastrar 1, ele vai um certinho e 19 tudo vazio.. ve isso também cara. for($i=1 ; $i<=$n ; $i++){ $item = $_POST['item'+$i];/**/ $data2 = datasql( $_POST['dataItem'+$i]);/**/ $valor = ponto( $_POST['valor'+$i]);/**/ $nf = $_POST['nf'+$i];/**/ $sql2 = "INSERT INTO itens(item,data2,valor,nf)VALUES('$item','$data2','$valor','$nf')"; $insere2 = @mysql_query($sql2); if ($n>20){ echo "Limite de 20 itens ultrapassado."; echo "<a href='menu_rev.php'>Voltar</a>"; } } Compartilhar este post Link para o post Compartilhar em outros sites
Crik 0 Denunciar post Postado Novembro 30, 2010 Bom dia. Tirei o auto_increment junto com a PK... os dados chegam zerados! tirei aquele if, mas mesmo assim, estou na mesma... if ($valida){ $data = getdate(); $dataini = '$data[mday]'.'-'.'$data[mon]'.'-'.'$data[year]';/**/ $representante = $_POST['$nome'];/**/ $cidade = $_POST['cidade'];/**/ $estado = $_POST['estado'];/**/ $campanha = $_POST['campanha'];/**/ $periodo = datasql( $_POST['periodo']); $periodo2 = datasql( $_POST['periodo2']);/**/ $n = $_POST['inv'];/**/ $sql1 = "INSERT INTO historico(data,representante,cidade,estado,campanha,periodo,periodo2)VALUES(NOW(),'$nome','$cidade','$estado','$campanha','$periodo','$periodo2')"; $insere = @mysql_query($sql1); $max = "SELECT MAX(cod) FROM historico"; $x = @mysql_query($max); for($i=1 ; $i<=$n ; $i++){ $item = $_POST['item'+$i];/**/ $data2 = datasql( $_POST['dataItem'+$i]);/**/ $valor = ponto( $_POST['valor'+$i]);/**/ $nf = $_POST['nf'+$i];/**/ $sql2 = "INSERT INTO itens(codhist,item,data2,valor,nf)VALUES('$x','$item','$data2','$valor','$nf')"; $insere2 = @mysql_query($sql2); } if ($insere && $insere2){ echo "Produto cadastrado com sucesso! Redirecionando...<META HTTP-EQUIV='Refresh' CONTENT='1 ; URL=menu_rev.php'>"; } else{ echo mysql_error (); } } @mysql_close($conexao); Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Dezembro 1, 2010 cara, o concatenador do php, é o ponto (.) troque: $item = $_POST['item'+$i];/**/por: $item = $_POST['item'.$i];/**/ ainda assim, não gosto desse tipo de abordagem. Prefira trabalhar com arrays. Compartilhar este post Link para o post Compartilhar em outros sites
Crik 0 Denunciar post Postado Dezembro 2, 2010 ótimo!!!!!!!!! funcionou perfeitamente! obrigada! Compartilhar este post Link para o post Compartilhar em outros sites