Ir para conteúdo

POWERED BY:

Arquivado

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

chocho

UPDATE... Diz que atualiza...

Recommended Posts

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

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

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

:( 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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.