ORisonho 0 Denunciar post Postado Agosto 24, 2009 Olá galera, beleza? Bom...vou passar para vocês o meu pequeno problema. Eu tenho um pequeno sistema para eu criar dados em um banco de dados MY/Sql, que usam as seguintes páginas: inserir_dados.php <form name="form" method="POST" action="scripts/php/confirma_informa.php" enctype="multipart/form-data"> <p><a class="arquivos2">Nome: </a> <input type="text" name="nome" class="news" size="50"> <a class="arquivos2">Quantidade: </a> <input type="text" name="quantidade" class="news" size="30"> </p> <p> <input type="submit" class="news" value="Enviar"> </form> confirma_informa.php (recebe os dados e envia para o banco e confirma se foi efetuado corretamente ou não) <?php mysql_connect("localhost","root","")or die("Não foi possivel conectar com o servidor<br><br>"); //echo "Você esta conectado ao servidor<br><br>"; mysql_select_db("locfestas") or die ("Não foi possivel conectar ao Banco de Dados<br><br>"); //echo "Você esta conectado ao Banco de Dados<br><br>"; header(`Content-type: text/html; charset=ISO-8859-1`); ?> <?php $nome = $_POST['nome']; $quantidade = $_POST['quantidade']; //autenciação ANTI-PALAVRÃO //só para organizar o sript if ($nome == null) { echo "Preencha o campo Nome corretamente"; exit(); } if ($quantidade == null) { echo "Preencha o campo quantidade corretamente"; exit(); } $inserir = mysql_query("insert into 01_pratos (nome,quantidade) values('$nome','$quantidade')"); if ($inserir > 0) { echo "<span class='news2'>Informações adicionadas com sucesso.</span><br>"; } else { echo "Não foi possivel o envio de sua mensagem"; } ?> index.php (que mostra os dados contidos no banco de dados my/sql, usando paginação como organização) <?php include "scripts/php/conexao.php"; header(`Content-type: text/html; charset=ISO-8859-1`); ?> <?php //######### INICIO Paginação $numreg = 10; // Quantos registros por página vai ser mostrado if (!isset($pg)) { $pg = 0; } $inicial = $pg * $numreg; //######### FIM dados Paginação // Faz o Select pegando o registro inicial até a quantidade de registros para página $sql = mysql_query("SELECT * FROM 01_pratos order by id asc LIMIT $inicial, $numreg "); // Serve para contar quantos registros você tem na seua tabela para fazer a paginação $sql_conta = mysql_query("SELECT * FROM 01_pratos"); $quantreg = mysql_num_rows($sql_conta); // Quantidade de registros pra paginação // Vai servir só para dar uma linha de espaço entre a paginação e o conteúdo while ($aux = mysql_fetch_array($sql)) { $id = $aux["id"]; echo " <table width='800' height='25' border='0'> <tr> <td width='200' valign='top' class='texto' bgcolor='#eeeeee'> <a class='news'>".$aux['nome']." </td> <td width='200' valign='top' bgcolor='#eeeeee'> <font class='newsred'>".$aux['quantidade']."</font> </td> </tr> </table>"; /* Ai o resto é com voces em montar como deve parecer o conteúdo */ } include("scripts/php/paginacao.php"); // Chama o arquivo que monta a paginação. ex: << anterior 1 2 3 4 5 próximo >> ?> Minha Duvida é a seguinte, eu queria criar um botão para poder EDITAR as informações contida nas tabelas do banco, para que o sistema nao ficasse rezumido apenas a CRIAR, e sim podendo CRIAR E EDITAR? Agradeço pela ajuda de todos. Compartilhar este post Link para o post Compartilhar em outros sites
Roberto_S_Luz 2 Denunciar post Postado Agosto 24, 2009 Algo bem simples...não muito dificil de entender... $SQL = "SELECT ID, NOME, QUANTIDADE FROM TABELA1 WHERE ID = 1"; $BUSCAR = mysql_query($SQL); Ao fazer isso, você terá feita a consulta com os dados que quer editar bl\... Depois faça while($LINHA = mysql_fetch_assoc($BUSCAR)){ $ID = $LINHA["ID"]; $NOME = $LINHA["NOME"]; $QUANTIDADE = $LINHA["QUANTIDADE"]; $TABLE.='<form action="pagina_alterar.php" method="post"> <table> <tr> <td> <input type="hiddem" name="id" value="<?=$ID?>"> </td> <td> Nome:<input type="text" name="nome" value="<?=$NOME?>" size="30"> </td> </tr> <tr> <td> Quantidade:<input type="text" name="qtde" value="<?=$QUANTIDADE?>" size="10"> </td> </tr> <tr> <td> <input type="submit" name="alterar" value="Alterar"></a> </td> </tr> </table> </form>'; } Ou seja... Após você fazer a busca dos dados especificos que deseja alterar, deverá coloca-los dentro do form ok... Será enviado os dados para o arquivo pagina_alterar.php onde serão processados Caso você faça estruturado, será algo +/- assim include "seu_arquivo_de_conexao.php"; $ID = $_POST["ID"]; $NOME = $_POST["NOME"]; $QUANTIDADE = $_POST["QUANTIDADE"]; $UPDATE = 'UPDATE TABELA 1 SET NOME= '.$NOME.', QUANTIDADE = '.$QUANTIDADE.' WHERE ID = '.$ID.''; $PROCESSAR = mysql_query($UPDATE); if($PROCESSAR == true){ echo "<br>Dados alterados com êxito!!!"; } else{ echo "<br>Erro ao tentar alterar os dados!!!"; } Bom...quero lembrar que...não testei esse codigo...passei apenas a ideia ok. http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif Mas...qualquer coisa, posta seu codigo com sua duvida aí, que iremos tentar lhe ajudar beleza... http://forum.imasters.com.br/public/style_emoticons/default/grin.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
ORisonho 0 Denunciar post Postado Agosto 24, 2009 Esta tudo certo, eu fiz algumas adaptações no codigo e esta tudo beleza, eu estou tendo problemas apenas na pagina CONFIRMA que faz o UPDATE (troca) das informações. Estou disponibilizando o código para poder esclarecer melhor, meu problema esta apenas esta na parte do código SQL que manda fazer o UPDATE que vai TROCAR as informações ao invés de CRIA-LAS. <?php mysql_connect("localhost","root","")or die("Não foi possivel conectar com o servidor<br><br>"); //echo "Você esta conectado ao servidor<br><br>"; mysql_select_db("locfestas") or die ("Não foi possivel conectar ao Banco de Dados<br><br>"); //echo "Você esta conectado ao Banco de Dados<br><br>"; header(`Content-type: text/html; charset=ISO-8859-1`); ?> <?php $id = $_POST['id']; $nome = $_POST['nome']; $quantidade = $_POST['quantidade']; //só para organizar o sript if ($id == null) { echo "Preencha o campo ID corretamente"; exit(); } if ($nome == null) { echo "Preencha o campo Nome corretamente"; exit(); } if ($quantidade == null) { echo "Preencha o campo quantidade corretamente"; exit(); } $inserir = mysql_query("UPDATE into 01_pratos SET(id,nome,quantidade) WHERE ('$id','$nome','$quantidade')"); if ($inserir > 0) { echo "<span class='news2'>Informações adicionadas com sucesso.</span><br>"; } else { echo "Não foi possivel o envio de sua mensagem"; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Agosto 24, 2009 A instrução está errada. Teria que ser algo assim. $sql = "UPDATE tabela SET nome = '$nome' ,quantidade = '$quantidade' WHERE id = '$id'"; $inserir = mysql_query($sql) or die('O update falhou. A query enviada foi '.$sql.'<br/>O erro retornado foi - '.mysql_error()); http://dev.mysql.com/doc/refman/4.1/pt/update.html Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Roberto_S_Luz 2 Denunciar post Postado Agosto 25, 2009 $inserir = mysql_query("UPDATE into 01_pratos SET(id,nome,quantidade) WHERE ('$id','$nome','$quantidade')"); ORisonho a sua SQL tá errada pois não existe aquele INTO lá ok e na forma de setar os valores, faça como eu e o matias_rezende lhe mostramos beleza. A sua será algo como: $inserir = mysql_query("UPDATE 01_pratos SET id = '$id',nome = '$nome',quantidade = '$quantidade' WHERE id = '$id'"; Testa aí e se der erro, posta novamente beleza... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Boa sorte!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
eibon 2 Denunciar post Postado Agosto 25, 2009 Bom,passei os olhos no código e notei outros erros além dos citados. Valores vindos da $_POST só são nulos se a chave do mesmo não existir (consequentemente ele idem).Sendo assim,suas estruturas condicionais estão erradas,e se você tenta usar uma variavel inexistente,o PHP te retorna um erro caso a operação realizada não foi uma atribuição de referencia. <?php //$a = $variavelInexistenteQualquer; -> erro! $b =& $variavelInexistenteQualquer; var_dump($B); //NULL ?> Cheque se o que você está tentando acessar na Super Global $_POST existe ou faça uma atribuição por referencia (qualquer duvida postar). Troque o inicio das suas estruturas condicionais para: if (!$variavelQualquer) /*checa se a negação da representação booleana do valor da variavel é verdadeira (o que exclue valores nulos e strings vazias) -> equivalente a: if(!(boolean)$variavelQualquer)*/ Ou,mais recomendado: if(trim((string)$variavelQualquer) == '') /*checa se a representação como string do valor da variavel com os espaços retirados do inicio e fim da mesma é igual a uma string vazia (o que exclue valores nulos,strings vazias e strings com apenas espaços)*/ Dentre diversas outras maneiras... Compartilhar este post Link para o post Compartilhar em outros sites
ORisonho 0 Denunciar post Postado Agosto 27, 2009 Parabens Galera! Problema resolvido!!!! Agradeço a ajuda da Galera que esta sempre dando um apoio, e pode ter certeza que o que eu poder ajudar aqui no FORUM estarei sempre disponivel. Vlw Galera...e Parabens!! Compartilhar este post Link para o post Compartilhar em outros sites