iFull 0 Denunciar post Postado Agosto 25, 2009 Olá pessoal tudo bem? To com um problema na hora de listar e editar e salvar... Eu consigo Listar perfeitamente com os dados do banco de dados fica bunitinho e tal... Na listagem tem 2 links em cada linha [excluir] e[ editar] os 2 funcionam ... Mas só o [excluir] que exclui mesmo... até ai tudo bem... Problema é na hora de mudar os produtos. Por exemplo: Se eu listo o produto com ID 01 vai abrir a pagina de editar com as referencias do id 01 Mas se eu escolho qualquer outro produto da listagem ela coloca novamente os mesmos dados do id 01 E quando eu vou editar não edita da um erro... Vou postar todos os 3 arquivos para vcs entenderem... Este esta perfeito eu acho [:S]: <?php if(file_exists("init.php")) { require "init.php"; } else { echo "Arquivo init.php nao foi encontrado"; exit; } if(!function_exists("Abre_Conexao")) { echo "Erro o arquivo init.php foi auterado, nao existe a função Abre_Conexao"; exit; } Abre_Conexao(); $re = mysql_query("SELECT * FROM rcwk_metals ORDER BY idrcwk_metals;"); if(mysql_errno() != 0) { if(!isset($erros)) { echo "Erro o arquivo init.php foi auterado, nao existe $erros"; exit; } echo $erros[mysql_errno()]; exit; } ?> <table width="100%" border="1"> <tr> <td>OPÇÕES</td> <td>ID</td> <td>CODIGO</td> <td>DESCRICAO</td> <td>VALOR</td> </tr> <?php while($l = mysql_fetch_array($re)) { $id = $l["idrcwk_metals"]; $codigo = $l["codigo"]; $descricao = $l["descricao"]; $valor = $l["valor"]; echo " <tr> <td><a href=\"editar.php?id=$id\">[Editar]</a> <a href=\"excluir.php?id=$id\">[Excluir]</a></td> <td> $id</td> <td> $codigo</td> <td> $descricao</td> <td>R$ $valor</td> </tr>\n"; } @mysql_close(); ?> Agora vai o Editar.php <?php if(file_exists("init.php")) { require "init.php"; } else { echo "Arquivo init.php nao foi encontrado"; exit; } if(!function_exists("Abre_Conexao")) { echo "Erro o arquivo init.php foi auterado, nao existe a função Abre_Conexao"; exit; } $id = $_GET["id"]; Abre_Conexao(); $re = mysql_query("select count(*) as total from rcwk_metals where idrcwk_metals = $id"); $total = mysql_result($re, 0, "total"); if($total ==1 ) { $re = mysql_query("SELECT * FROM rcwk_metals ORDER BY idrcwk_metals"); $dados = mysql_fetch_array($re); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Cadastro</title> <style> <!-- .textBox { border:1px solid gray; width:600px; } --> </style> </head> <body> <form id="form1" name="form1" method="post" action="salvar_edicao.php"> <input type="hidden" name="id" value="<?php echo $id; ?>" /> <table width="515" border="0" align="center"> <tr> <td width="145">ID</td> <td width="360"><input name="idrcwk_metals" type="text" class="textBox" id="idrcwk_metals" value="<?php echo $dados["idrcwk_metals"]; ?>" size="200" maxlength="10" /></td> </tr> <tr> <td>CODIGO</td> <td><input name="codigo" type="text" class="textBox" id="codigo" value="<?php echo $dados["codigo"]; ?>" size="200" maxlength="10" /></td> </tr> <tr> <td>DESCRICAO</td> <td><input name="descricao" type="text" class="textBox" id="descricao" value="<?php echo $dados["descricao"]; ?>" size="200" maxlength="40" /> </td> </tr> <tr> <td>VALOR</td> <td><input name="valor" type="text" class="textBox" id="valor" value="<?php echo $dados["valor"]; ?>" size="200" maxlength="10" /></td> </tr> <tr> <td> </td> <td><input type="submit" name="Submit" value="Salvar" style="cursor:pointer;"/></td> </tr> </table> </form> </body> </html> Agora vem outra pagina que ta com ERRO a salvar_edicao.php <?php if($_SERVER["REQUEST_METHOD"] == "POST") { //editar antes $id = $_POST['idrcwk_metals']; $codigo = $_POST['codigo']; $descricao = $_POST['descricao']; $valor = $_POST['valor']; echo $erros[mysql_errno()]; if(file_exists("init.php")) { require "init.php"; } else { echo "Arquivo init.php nao foi encontrado"; exit; } if(!function_exists("Abre_Conexao")) { echo "Erro o arquivo init.php foi auterado, nao existe a função Abre_Conexao"; exit; } Abre_Conexao(); if(mysql_query("update from rcwk_metals descricao = '$descricao', valor = '$valor', where idrcwk_metals = $id")) { if(mysql_affected_rows() > 1){ echo "Registro atualizado com sucesso"; } } else { if(mysql_errno() == 1062) { echo $erros[mysql_errno()]; exit; } else { echo "Erro nao foi possivel efetuar a edição"; exit; } @mysql_close(); } } ?> <a href="listar.php">Voltar</a> Por favor não tenho um bom conhecimento em Php por isso que to pedindo ajuda... Tudo que consegui foi adaptar tudo isso ae... Sei que não ta difícil pra vcs + pra mim ta osso ;D Te+ ae... galera... Compartilhar este post Link para o post Compartilhar em outros sites
Roberto_S_Luz 2 Denunciar post Postado Agosto 25, 2009 olá iFull beleza meu chapa... if(mysql_query("update from rcwk_metals descricao = '$descricao', valor = '$valor', where idrcwk_metals = $id")) Bom..não existe esse from aí, troque isto aí por isto aqui e ver se funciona if(mysql_query("update rcwk_metals set descricao = '$descricao', valor = '$valor', where idrcwk_metals = $id")) Obs.: No comando UPDATE você tem que colocar o nome da tabela (você acertou, mais sem o FROM)e setar os valores atraves do SET e no seu não tinha. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Abraços e boa sorte... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Agosto 25, 2009 Roberto... fiz o que você disse mas ainda não mudou nada... ta dando o mesmo erro :S Erro nao foi possivel efetuar a ediçãovlw.. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 25, 2009 Vamos descobrir o motivo.. altera lá.. e diz oque retornar: Abre_Conexao(); $sql = "UPDATE `rcwk_metals` SET `descricao` = '{$descricao}', `valor` = '{$valor}' WHERE `idrcwk_metals` = {$id}"; echo $sql; $q = mysql_query( $sql )or die(mysql_error()); if( $q ) { if(mysql_affected_rows() > 1){ echo "Registro atualizado com sucesso"; } Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Agosto 25, 2009 Puts cara... mesmo erro que deu ... sera alguma variavel? olha cara... acho que eu compliquei demais... mas acho que tem alguma forma de fazer essas paginas ai de um jeito mais facil pq preciso editar só 3 campos de uma tabela entende? é simples mas pra mim ta f*** agora vcs que manjam não deve ser tão dificil... tabela [rcwk_metals] campo [codigo] campo [descricao] campo [valor] preciso só editar isso ai + ta complicado pra mim sinceramente... vou até me matricular nesse curso que ta patrocinando essa area do forum pq com os meus conhecimentos basiquissimos em PHP ja até enjoei de pedir ajuda... mas preciso resolver isso ae... se alguem de boa vé e vontade de ajudar puder gastar uns 5 ou 10 minutos eu fico muito grato e não é só eu que preciso disso garanto que alguem quer aprender como se faz... se alguema e puder ajudar mesmo muito obrigado... aguardando ae ;D vlw pessoal Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 25, 2009 Oque retornou do echo $sql ? e o mysql_error? respondeu algo ? Compartilhar este post Link para o post Compartilhar em outros sites
Roberto_S_Luz 2 Denunciar post Postado Agosto 26, 2009 iFull Imprime o erro e posta aqui, daí podemos ver realmente qual é o problema beleza... Ahh e não se preocupe em pedir ajudar ok...o forum é para isso...e ao te ajudarmos, tambem estaremos aprendendo ok. Posta aí a parada...rsss http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Agosto 26, 2009 to conseguindo resolver em outra pagina que adaptei aki.... agora deu certo só que atualizou todos kkkkkk ja vou postar aki 1 seg. <?php //Conecto-me ao servidor MySQL $conexao = mysql_connect("localhost", "myuser", "mypass"); //Verifico se a conexão foi bem sucedida if ($conexao == true) { //Seleciono o database $db = mysql_select_db("rincawes_rinca"); //Verifico se houve erro ao selecionar o database if ($db == false) { //Imprimo a mensagem de erro echo "Erro na seleção do database: ".mysql_error(); } } else { //Imprimo a mensagem de erro echo "Erro na conexão: ".mysql_error(); } //Monto minha query $sql = "update rcwk_metals set codigo = '$codigo', descricao = '$descricao', valor = '$valor'"; //Executo a minha query $query = mysql_query($sql); //Verifico se o registro foi inserido com sucesso if ($query == true) { echo "Registro inserido com sucesso"; } else { echo "Não foi possível inserir seu registro"; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Roberto_S_Luz 2 Denunciar post Postado Agosto 26, 2009 você esqueceu da condição WHERE $sql = "update rcwk_metals set codigo = '$codigo', descricao = '$descricao', valor = '$valor' WHERE `idrcwk_metals` = $id ";Sem ela...irá atualizar todos mesmo pois você não colocou uma condição para atualizar uma tupla especificaTesta aí... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Agosto 26, 2009 Roberto teste e nada... Não foi possível inserir seu registroapareceu isso aki como erroquer que eu poste os outros scripts das outras paginas? pra você entender certinho? Compartilhar este post Link para o post Compartilhar em outros sites
Roberto_S_Luz 2 Denunciar post Postado Agosto 26, 2009 Claro...posta aí... Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Agosto 26, 2009 Primeiramente, essas variáveis estão vindo da onde ? De um formulário ?? Ou por parâmetros ?? Cade o $_POST delas ? Ou $_GET ?? O campo código no seu banco é Varchar ? ou Integer ? Se for Varchar, você coloca aspas no Update, se for Integer sem aspas. O nome dos campos estão certos ? Os valores das variáveis estão vindo mesmo ? Poste o erro que está dando. $sql = "update rcwk_metals set codigo = $codigo, descricao = '$descricao', valor = '$valor' where idrcwk_metals = $id"; Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Agosto 26, 2009 ae galerinha... vlw ae pela ajuda espero que eu resolva isso ;D olha ae esta o codigo da pagina LISTA.PHP <?php //Conecto-me ao servidor MySQL $conexao = mysql_connect("localhost", "xxxxx", "xxxxx"); //Verifico se a conexão foi bem sucedida if ($conexao == true) { //Seleciono o database $db = mysql_select_db("rincawes_rinca"); //Verifico se houve erro ao selecionar o database if ($db == false) { //Imprimo a mensagem de erro echo "Erro na seleção do database: ".mysql_error(); } } else { //Imprimo a mensagem de erro echo "Erro na conexão: ".mysql_error(); } //Monto minha query $sql = "SELECT descricao, valor FROM rcwk_metals"; //Executo a minha query $query = mysql_query($sql); if ($query <> false) { while($dados = mysql_fetch_array($query)) { echo "<li><strong>".$dados["descricao"]."</strong> <a href='atualiza.php?id=".$dados["codigo"]."'>Editar</a> <a href='valida.php?id=".$dados["valor"]."'>Excluir</a></li>"; } } ?> Atualiza.php <?php include "include/topo.php"; include "include/menu.php"; ?> <h2>Atualiza Conteúdo</h2> <form action="valida.php" method="post" id="form"> <label for="descricao">DESCRIÇÃO: <input name="descricao" type="text" id="descricao" " size="40" maxlength="40" /> </label> <label for="valor">VALOR: <input name="valor" cols="10" rows="10" id="valor"></input></label> <label for="codigo">Codigo:<input name="codigo" type="text" id="codigo" size="10" maxlength="10" /></label> <button type="submit">Cadastrar</button> </form>será que é pq os inputs nao puxam nada? :S e por ultimo a pagina VALIDA.PHP <?php //Conecto-me ao servidor MySQL $conexao = mysql_connect("localhost", "xxxxx", "xxxxx"); //Verifico se a conexão foi bem sucedida if ($conexao == true) { //Seleciono o database $db = mysql_select_db("rincawes_rinca"); //Verifico se houve erro ao selecionar o database if ($db == false) { //Imprimo a mensagem de erro echo "Erro na seleção do database: ".mysql_error(); } } else { //Imprimo a mensagem de erro echo "Erro na conexão: ".mysql_error(); } //Monto minha query $sql ="update rcwk_metals set codigo = '$codigo', descricao = '$descricao', valor = '$valor' WHERE `idrcwk_metals` = $dados "; //Executo a minha query $query = mysql_query($sql); //Verifico se o registro foi inserido com sucesso if ($query == true) { echo "Registro inserido com sucesso"; } else { echo "erro ao atualizar"; } ?> vlw ae.. e o erro que continua é o erro "erro ao atualizar" configurado por padrão... Compartilhar este post Link para o post Compartilhar em outros sites
Roberto_S_Luz 2 Denunciar post Postado Agosto 26, 2009 Em um de seus posts anteriores lá no arquivo salvar_edicao.php você pegaria os valores para serem alterados //editar antes $id = $_POST['idrcwk_metals']; $codigo = $_POST['codigo']; $descricao = $_POST['descricao']; $valor = $_POST['valor']; nesse seu ultimo post, não tem ele... então...onde você está recebendo esses valores para serem atualizados? Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Agosto 26, 2009 eu mudei lembra uns posts acima que disse que adaptei outro.. esses 3 ultimos do ultimo post to usando somente os 3 eles funcionan + nao ta salvando ta errando... Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Agosto 26, 2009 preciso de ajuda para aparecer a descrição em um INPUT para que eu possa editar a DANADA !!!! ^^ Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Agosto 27, 2009 por favor algum moderador que possa colocar todos topicos meus das ultimas 3 ou 2 paginas como RESOLVIDO? achei um script que funcionou perfeitamente quando eu terminar de edita-lo eu vou compartilhar com o pessoal aqui Obrigado a todos que me deram atenção e até em brevezinho... Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Agosto 27, 2009 É melhor que você poste em cada um deles a solução (mesmo que não seja agora) para dar como resolvido, porque, apesar de você ter resolvido, a solução não está no tópico. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Agosto 27, 2009 "quando eu terminar de edita-lo eu vou compartilhar com o pessoal aqui" Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Agosto 27, 2009 (mesmo que não seja agora) Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites