chocho 0 Denunciar post Postado Novembro 30, 2004 Pois bem Amigos... Vale lembrar que Graças a vcs estou conseguindo montar um site para uma empresaa... Bem na realidade este sate que estou fazendo... eh que um catalogo eletronico.. onde no site tera que conter as mesmas informações do que esta na revista... inclusive, o produto que esta na pagina 1 vai ter que aparecer na pagina 1 e assim por diante... mais minha duvida nao eh isto... pelo menos por inquanto... hehehe bem este codigo que estou com problema consegui achar aki mesmo no forum.. e resolvi adaptar as minhas necessidades.... não saco muito de php... mais lendo os foruns aki postados e varios tutoriais e apostilas estou começamdo a intender um pouco a programação.... as funcoes do codigo seguinte é: 1) lista todos os produtos cadastrados no banco de dados... MySql.. 2) possui a opção de Editar / Remover 3) Opção Editar eh a minha questa aqui... Remover nao consegui adptar ainda ao codigo...( se alguem poder me dar uma dica quanto a isso tbmm.. fico grato ) 4) quando se clica em editar.. ele abre em uma nova pagina, coms as opções do produto que a pessoa escolheu.. com suas devidas caracteristicas dentro de um IMPUT... 5) eu alteri todas as informações necessarias e clico em "ALTERAR"... 6) ele carrega outra pagina mostrando as alterações feitas... Até ai tudo bem ... ele deveria ter feito as alterações corretamente... mais quando vou ver os dados... nao alterou nada.... contunua tudo na mesma... alguem pode me ajudar.... Bem Vou postar aki o Codigo Completo... listar.php PHP [/tr][tr]<?php$con = mysql_connect("localhost","xxx","xxx") or die ("Erro na conexão"); $db = mysql_select_db("test",$con) or die ("Erro ao se conectar ao Database"); $sql = "SELECT * FROM produtos order by n_produto"; $rs = mysql_query($sql, $con) or die ("Não foi possível efetuar Consulta."); ?> <html> <head> <title>Alterando Registro do Banco de Dados MySQL</title> </head> <body> <p> <font face="arial" size="2" color="red"><b>Dados da Tabela Produtos.</b></font> <hr> <table width="657" border="1" align="center"> <tr> <td width="43"><strong><font face="arial" color="#0000FF" size="2">Nome</font></strong></td> <td width="78"><strong><font face="arial" color="#0000FF" size="2">Fabricante</font></strong></td> <td width="43"><strong><font face="arial" color="#0000FF" size="2">Preço</font></strong></td> <td width="46"><strong><font face="arial" color="#0000FF" size="2">Código</font></strong></td> <td width="81"><strong><font color="#0000FF">Quantidade</font></strong></td> <td width="65"><strong><font color="#0000FF">Tamanho</font></strong></td> <td width="137"><strong><font color="#0000FF">Pagina no Catalogo </font></strong></td> <td width="112"> </td> </tr> <?php while ($linha = mysql_fetch_array($rs)) { $codigo_p = $linha["codigo_p"]; // codigo do produto $n_produto = $linha["n_produto"]; //nome do produto $n_fabricante = $linha["n_fabricante"]; //nome do fabricante $preco = $linha["preco"]; // preco do produto $quantidade_emb = $linha["quantidade_emb"]; // quantidade por embalagem $tamanho = $linha["tamanho"]; // tamanho do produto $n_pagina = $linha["n_pagina"]; // numero da pagina no catalago ?> <tr> <td><font face="arial" size="2"><?php echo $n_produto; ?></font></td> <td><font face="arial" size="2"><?php echo $n_fabricante; ?></font></td> <td><font face="arial" size="2"><?php echo $preco; ?></font></td> <td><font face="arial" size="2"><?php echo $codigo_p; ?></font></td> <td><font face="arial" size="2"><?php echo $quantidade_emb; ?></font></td> <td><font face="arial" size="2"><?php echo $tamanho; ?></font></td> <td><font face="arial" size="2"><?php echo $n_pagina; ?></font></td> <td><strong><font color="#0000FF"><a href="alterar.php?codigo_p1=<?php echo $codigo_p; ?>">Editar</a> / Apagar </font></strong></td> </tr> <?php } mysql_free_result($rs); mysql_close($con); ?> </table> </body> </html>[/tr] Alterar.php PHP [/tr][tr]<? error_reporting(E_ERROR | E_WARNING | E_PARSE); ?><? extract($HTTP_POST_VARS);?> <?php $con = mysql_connect("localhost","xxx","xxx") or die ("Erro na conexão"); $db = mysql_select_db("test",$con) or die ("Erro ao se conectar ao Database"); $sql = "SELECT * FROM produtos WHERE codigo_p='$codigo_p1' "; $rs = mysql_query($sql, $con) or die ("Não foi possível Efetuar a Consulta."); $linha = mysql_fetch_array($rs); $n_produto = $linha["n_produto"]; $n_fabricante = $linha["n_fabricante"]; $preco = $linha["preco"]; $quantidade_emb = $linha["quantidade_emb"]; $tamanho = $linha["tamanho"]; $n_pagina = $linha["n_pagina"]; ?> <html> <head> <title>Alterando Registro do Banco de Dados MySQL</title> </head> <body> <p> <font face="arial" size="2" color="red"><b>Alterando Registros da Tabela Produtos.</b> <hr> <form name="formlivro" method="post" action="atualizar.php"> <table border="0"> <tr> <td>Nome: </td> <td><input name="txtn_produto" type="text" id="txtn_produto" value="<?php echo $n_produto; ?>" size="50"></td> </tr> <tr> <td>Fabricante: </td> <td><input name="txtn_fabricante" type="text" id="txtn_fabricante" value="<?php echo $n_fabricante; ?>" size="50"></td> </tr> <tr> <td>Número da Páginas: </td> <td><input name="txtn_pagina" type="text" id="txtn_pagina" value="<?php echo $n_pagina; ?>" size="20"></td> </tr> <tr> <td>Quantidade: </td> <td><input name="txtquantidade_emb" type="text" id="txtquantidade" value="<?php echo $quantidade_emb; ?>" size="20"></td> </tr> <tr> <td>Preço: </td> <td><input type="text" name="txtpreco" size="20" value="<?php echo $preco; ?>"></td> </tr> <tr> <td>tamanho: </td> <td><input name="txttamanho" type="text" id="txttamanho" value="<?php echo $tamanho; ?>" size="50"></td> </tr> <tr> <td colspan="2" align="right"> <input type="submit" value="Alterar" name="btaltera"> <input type="hidden" name="codigo_p" value="<?php echo $codigo_p; ?>"> </td> </tr> </table> </form> <?php mysql_free_result($rs); mysql_close($con); ?> </body> </html>[/tr] Atualizar.php PHP [/tr][tr]<? extract($HTTP_POST_VARS);?> <?php $con = mysql_connect("localhost","xxx","xxx") or die ("Erro na conexão"); $db = mysql_select_db("test",$con) or die ("Erro ao se conectar ao Database"); $sqlalt = "UPDATE produtos SET "; $sqlalt = $sqlalt . "n_produto = 'txtn_produto', "; $sqlalt = $sqlalt . "n_fabricante = 'txtn_fabricante', "; $sqlalt = $sqlalt . "preco = 'txtpreco', "; $sqlalt = $sqlalt . "n_pagina = 'txtn_pagina', "; $sqlalt = $sqlalt . "tamanho = 'txttamanho', "; $sqlalt = $sqlalt . "quantidade_emb = 'txtquantidade' "; $sqlalt = $sqlalt . "where codigo_p='codigo_p1' "; $rs = mysql_query($sqlalt, $con) or die ("Não foi possível Executar e instrução Insert."); $sql = "SELECT * FROM `produtos` WHERE codigo_p='$codigo_p1' "; $rs = mysql_query($sql, $con) or die ("Não foi possível Efetuar a Consulta."); ?> <html> <head> <title>Alterando Registro do Banco de Dados MySQL</title> </head> <body> <p> <font face="arial" size="2" color="red"><b>Alterado Registro da Tabela Produtos.</b> <hr> <table border="0"> <tr> <td>Nome: </td> <td><?php echo $txtn_produto; ?></td> </tr> <tr> <td>fabricante: </td> <td><?php echo $txtn_fabricante; ?></td> </tr> <tr> <td>Número da Páginas: </td> <td><?php echo $txtn_pagina; ?></td> </tr> <tr> <td>Tamanho: </td> <td><?php echo $txttamanho; ?></td> </tr> <tr> <td>Preço: </td> <td><?php echo $txtpreco; ?></td> </tr> <tr> <td>Quantidade: </td> <td><?php echo $txtquantidade; ?></td> </tr> </table> <p> <a href="listar.php">Alterar outros Livros.</a> <?php mysql_free_result($rs); mysql_close($con); ?> </body> </html>[/tr] Se Alguem poder Me Ajudar Fico Muito Gratooooo.... Desde Já Agradeço Obrigado Jean José Miguel Compartilhar este post Link para o post Compartilhar em outros sites
michelsp 0 Denunciar post Postado Novembro 30, 2004 você Ñ está resgatando os dados ($_POST)... Compartilhar este post Link para o post Compartilhar em outros sites
calcio 2 Denunciar post Postado Novembro 30, 2004 Cara Aperentemente está certo. faça uma verificação se todos os campos q estão usando ASPAS são do tipo texto no Banco. O campo código é Número ñ precisa de ASPAS simples. Dica tente colocar o $ na frente das variáveis PHP [/tr][tr]$sqlalt = "UPDATE produtos SET ";$sqlalt = $sqlalt . "n_produto = '$txtn_produto', "; $sqlalt = $sqlalt . "n_fabricante = '$txtn_fabricante', "; $sqlalt = $sqlalt . "preco = '$txtpreco', "; $sqlalt = $sqlalt . "n_pagina = '$txtn_pagina', "; $sqlalt = $sqlalt . "tamanho = '$txttamanho', "; $sqlalt = $sqlalt . "quantidade_emb = '$txtquantidade' "; $sqlalt = $sqlalt . "where codigo_p='$codigo_p1' "; $rs = mysql_query($sqlalt, $con) or die ("Não foi possível Executar e instrução Insert.");[/tr] Dica 2: Force um DEBUG no script ex. Comente o rs => //$rs = mysql_query($sqlalt, $con) or die ("Não foi possível Executar e instrução Insert."); isso fará q ele ñ seja executado. Mande escrever a SQL na tela. => echo $sqlalt;, com isso você ve oq está sendo passado. Eu uso sempre isso antes de executar assim eu garanto q ñ passa nada. Espero ter ajudado Compartilhar este post Link para o post Compartilhar em outros sites
fast 0 Denunciar post Postado Novembro 30, 2004 eh o q disseram mesmo.. você eskeceu do cifrão nas variáveis.. e outra coisa.. PHP [/tr][tr]$sqlalt = $sqlalt . "n_produto = '$txtn_produto', ";[/tr] isso pode ser substituido por isso: PHP [/tr][tr]$sqlalt .= "n_produto = '$txtn_produto', ";[/tr] Compartilhar este post Link para o post Compartilhar em outros sites
chocho 0 Denunciar post Postado Novembro 30, 2004 :( poxa valeu aiii... fix tudo u que falarammm... mais infelizmente não consegui ainda resolver.. :( ontinua o mesmo erro...Mais Valeu Ai pra querm me ajudouuu....Obrigado mesmo..Valeu a tentativaa....Vou ver ser arranjo um jeito de resolver isso... ;) Compartilhar este post Link para o post Compartilhar em outros sites
hermeson 0 Denunciar post Postado Abril 5, 2005 porque tu n faz o update na mesma pagina?? em vez de enviar a pagina actualizar, faz tudo na pagina alterar, ja tentasse isso? :( poxa valeu aiii... fix tudo u que falarammm... mais infelizmente não consegui ainda resolver.. :( ontinua o mesmo erro... Mais Valeu Ai pra querm me ajudouuu.... Obrigado mesmo.. Valeu a tentativaa.... Vou ver ser arranjo um jeito de resolver isso... ;) <{POST_SNAPBACK}> Compartilhar este post Link para o post Compartilhar em outros sites
.G3 0 Denunciar post Postado Abril 5, 2005 hehe..amigo eu não li o codigo...mas você está passando o Id do lance ai q vai ser alterado ???pode ser isso... Compartilhar este post Link para o post Compartilhar em outros sites