grldesign 0 Denunciar post Postado Janeiro 23, 2004 Utilizo o código abaixo para atualizar dados de uma tabela. Ele retorna a mensagem de sucesso, mas na hora de verificar se ele alterou no banco a surpresa. Não alterou nada. Segue abaixo o código. require('config/config_con.php'); $sel = "UPDATE tabela SET titulo='$_POST[novo_titulo]', noticia='$_POST[nova_noticia]', fonte='$_POST[nova_fonte]', data='$_POST[nova_data]', hora='$_POST[nova_hora]' WHERE id='$id'"; $sql= mysql_query($sel) or die(mysql_error()); if(!$sql) { echo "<font color='#cc3300'>N&ato foi possível encontrar a notícia!</font>"; echo "<br><br><a href='javascript:window.history.go(-1)'>» Voltar</a>"; } else { echo "<font color='#cc3300'>Notícia alterada com sucesso!</font>"; } Compartilhar este post Link para o post Compartilhar em outros sites
Alisson Rodrigues 3 Denunciar post Postado Janeiro 23, 2004 Tenta assim: require('config/config_con.php');$novo_titulo = $_POST[novo_titulo];$nova_noticia = $_POST[nova_noticia];$nova_fonte = $_POST[nova_fonte];$nova_data = $_POST[nova_data];$nova_hora = $_POST[nova_hora]; $sel = "UPDATE tabela SET titulo='$novo_titulo' and noticia='$nova_noticia' and fonte='$nova_fonte' and data='$nova_data' and hora='$nova_hora' WHERE id='$id'"; $sql= mysql_query($sel) or die(mysql_error()); if(!$sql) { echo "<font color='#cc3300'>N&ato foi possível encontrar a notícia!</font>"; echo "<br><br><a href='javascript:window.history.go(-1)'>» Voltar</a>"; } else { echo "<font color='#cc3300'>Notícia alterada com sucesso!</font>"; }No lugar da virgula coloca "and", vê se dá certo. ;) Compartilhar este post Link para o post Compartilhar em outros sites
marcelo_r_o 0 Denunciar post Postado Janeiro 23, 2004 é o que eu ia dizer...tenta setar as variáveis antes.e usa o AND... Compartilhar este post Link para o post Compartilhar em outros sites
grldesign 0 Denunciar post Postado Janeiro 23, 2004 Não funcionou ainda prescot. Coloco abaixo o formulario que recebe os dados vindos de um while no banco de dados... <form action="adpanel.php?area=noticias&acao=alterar&tipo=gravar&id=<? echo "id"; ?>" method="post"> <table width="400" border="0" cellspacing="0" cellpadding="0"> <tr valign="top"> <td><div align="right">Título</div></td> <td> </td> <td><input name="novo_titulo" type="text" size="40" class="inputs" value="<? echo "$titulo"; ?>"></td> </tr> <tr valign="top"> <td><div align="right">Texto</div></td> <td> </td> <td><textarea name="nova_noticia" rows="4" cols="37"><? echo "$noticia"; ?>"</textarea></td> </tr> <tr valign="top"> <td><div align="right">Fonte</div></td> <td> </td> <td><input name="nova_fonte" type="text" size="25" class="inputs" value="<? echo "$fonte"; ?>"></td> </tr> <tr valign="top"> <td><div align="right">Data</div></td> <td> </td> <td><input name="nova_data" type="text" size="15" class="inputs" value="<? echo "$data_sql"; ?>" disabled></td> </tr> <tr valign="top"> <td><div align="right">Hora</div></td> <td> </td> <td><input name="nova_hora" type="text" size="15" class="inputs" value="<? echo "$hora_sql"; ?>" disabled></td> </tr> <tr valign="top"> <td width="100"> </td> <td width="6"> </td> <td height="25" valign="middle"><input name="imageField" type="image" src="gfx/ok.gif" border="0"></td> </tr> </table> </form> Não sei se por dar echo "$titulo" por exemplo no value de um input, fará com que ele leve este valor exato quando submetido, mesmo que eu altere ele. Será? Compartilhar este post Link para o post Compartilhar em outros sites
grldesign 0 Denunciar post Postado Janeiro 23, 2004 modifiquei e nada... ta me deixando grilado ja isso... Compartilhar este post Link para o post Compartilhar em outros sites
Alisson Rodrigues 3 Denunciar post Postado Janeiro 23, 2004 Hum, não sei, mas acho que isso não funciona não: <form action="adpanel.php?area=noticias&acao=alterar&tipo=gravar&id=<? echo "id"; ?>" method="post">Acho que só pode colocar o nome da pag, tipo: <form action="adpanel.php" method="post">Tenta colocar esses outros dados dentro do form tbm: <input name="area" value="noticias" type="hidden"><input type="hidden" name="acao" value="alterar"><input type="hidden" name="id" value="<?=$id;?>">Tenta aí. Compartilhar este post Link para o post Compartilhar em outros sites
grldesign 0 Denunciar post Postado Janeiro 23, 2004 Não funciona prescot... o que pode ser? permissao? alguma outra coisa no codigo? Compartilhar este post Link para o post Compartilhar em outros sites
Alisson Rodrigues 3 Denunciar post Postado Janeiro 23, 2004 Passa como está os dois códigos agora. Compartilhar este post Link para o post Compartilhar em outros sites
grldesign 0 Denunciar post Postado Janeiro 23, 2004 Essa action funciona sim... na verdade ele so recarrega a mesma pagina, se o $tipo == gravar ele executa o codigo de gravação. <form action="adpanel.php?area=noticias&acao=alterar&tipo=gravar&id=<? echo "id"; ?>" method="post"> <table width="400" border="0" cellspacing="0" cellpadding="0"> <tr valign="top"> <td><div align="right">Título</div></td> <td> </td> <td><input name="novo_titulo" type="text" size="40" class="inputs" value="<? echo "$titulo"; ?>"></td> </tr> <tr valign="top"> <td><div align="right">Texto</div></td> <td> </td> <td><textarea name="nova_noticia" rows="4" cols="37"><? echo "$noticia"; ?>"</textarea></td> </tr> <tr valign="top"> <td><div align="right">Fonte</div></td> <td> </td> <td><input name="nova_fonte" type="text" size="25" class="inputs" value="<? echo "$fonte"; ?>"></td> </tr> <tr valign="top"> <td><div align="right">Data</div></td> <td> </td> <td><input name="nova_data" type="text" size="15" class="inputs" value="<? echo "$data_sql"; ?>" disabled></td> </tr> <tr valign="top"> <td><div align="right">Hora</div></td> <td> </td> <td><input name="nova_hora" type="text" size="15" class="inputs" value="<? echo "$hora_sql"; ?>" disabled></td> </tr> <tr valign="top"> <td width="100"> </td> <td width="6"> </td> <td height="25" valign="middle"><input type="submit" value=" OK "></td> </tr> </table> </form> elseif ($tipo == "gravar") { require('config/config_con.php');$novo_titulo = $_POST[novo_titulo];$nova_noticia = $_POST[nova_noticia];$nova_fonte = $_POST[nova_fonte];$nova_data = $_POST[nova_data];$nova_hora = $_POST[nova_hora]; $sel = "UPDATE grl_noticias SET titulo='$novo_titulo' and noticia='$nova_noticia' and fonte='$nova_fonte' and data='$nova_data' and hora='$nova_hora' WHERE id='$id'";$sql= mysql_query($sel) or die(mysql_error()); if(!$sql) {echo "<font color='#cc3300'>N&ato foi possível encontrar a notícia!</font>"; echo "<br><br><a href='javascript:window.history.go(-1)'>» Voltar</a>";}else { echo "<font color='#cc3300'>Notícia alterada com sucesso!</font>";}} É isso ai. Compartilhar este post Link para o post Compartilhar em outros sites
Alisson Rodrigues 3 Denunciar post Postado Janeiro 23, 2004 Cara, era pra ter dado certo, pelo que vi o code tá certo. :mellow: Compartilhar este post Link para o post Compartilhar em outros sites
Keitaro 0 Denunciar post Postado Janeiro 24, 2004 <form action="adpanel.php?area=noticias&acao=alterar&tipo=gravar&id=<? echo "id"; ?>" method="post"> 1a linha tah errado; echo id ele vai escrever id, vai ficar id=id, e no caso teria que ter valor numerico, veja se nao é echo $id tem que ser uma variavel. $sel = "UPDATE grl_noticias SET titulo='$novo_titulo' and noticia='$nova_noticia' and fonte='$nova_fonte' and data='$nova_data' and hora='$nova_hora' WHERE id='$id'"; fica: $sel = "UPDATE grl_noticias SET titulo='$novo_titulo' , noticia='$nova_noticia' , fonte='$nova_fonte' , data='$nova_data' , hora='$nova_hora' WHERE id='$id'"; e n faz diferenca voce redefinir as variaveis, voce tava fazendo certo em usar $_POST voce direciona variaveis so vai estar criando variaveis desnecessarias e aumentando o codigo. Compartilhar este post Link para o post Compartilhar em outros sites
grldesign 0 Denunciar post Postado Janeiro 24, 2004 não funciona de maneira alguma...alguem tem um codigo ai que esteja funcionando que eu modifico conforme minhas necessidades?flw. Compartilhar este post Link para o post Compartilhar em outros sites
Hostand 0 Denunciar post Postado Janeiro 25, 2004 Pode ser que os campos de texto do formulário que estão como disabled não estejam passando informação para o script ! Já tentou com eles sem o atributo disabled ?? :huh: Bom de qualquer forma tenho aqui um codigo grandão mas funcionando: Não esquecendo de chamar o id pelo form. <?require('config/config_con.php');$id=$_REQUEST["id"];$novo_titulo = $_REQUEST["novo_titulo"];$nova_fonte = $_REQUEST["nova_fonte"];$nova_noticia = $_REQUEST["nova_noticia"];$nova_data = $_REQUEST["nova_data"];$nova_hora = $_REQUEST["nova_hora"];//querysmysql_query("update tabela set titulo = '$novo_titulo' where (id = '$id')");mysql_query("update tabela set fonte = '$nova_fonte' where (id = '$id')");mysql_query("update tabela set noticia = '$nova_noticia' where (id = '$id')");mysql_query("update tabela set data = '$nova_data' where (id = '$id')");mysql_query("update tabela set hora = '$nova_hora' where (id = '$id')");echo("Vê lá agora se funcionou !");?> Compartilhar este post Link para o post Compartilhar em outros sites
grldesign 0 Denunciar post Postado Janeiro 26, 2004 Funcionou. Troquei pelo ser código Hostand (as querys somente), mas o erro era um $ errado que tava ocasionando todos os erros. De qualquer forma muito obrigado pela colaboração. Compartilhar este post Link para o post Compartilhar em outros sites