Ir para conteúdo

POWERED BY:

Arquivado

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

dvdddd

problemas com update

Recommended Posts

Oi

 

Criei a página:

 

<table width="260" height="100%" border="0" cellpadding="0" cellspacing="0">  <tr>	<td height="18" class="noticias">Novidades <a href="#" class="link">[ + ]</a></td>  </tr>  <tr>	<td height="166" valign="top" class="areaNoticias"><?php    $conexao = mysql_connect("localhost", "root", "");   $db = mysql_select_db("teste");    $sql = "SELECT * FROM news ORDER BY data DESC LIMIT 10";   $resultado = mysql_query($sql) or die("Erro ao exibir resultados");   while($linha=mysql_fetch_assoc($resultado)){  ?> 	<input type="hidden" value="<? echo $id ?>" name="id" />  	<table width="256" height="26" border="0" cellpadding="0" cellspacing="0">	  <tr>		<td width="77"><a href="pagina.php?id=<?php echo $linha['id']; ?>"><?php echo $linha['data']; ?></a> </td>		<td width="179"><?php echo $linha['titulo']; ?></td>	  </tr>	</table>	  <?php } ?>	  </td></tr></table>

e a página.php que é pra onde mostrar os dados daquele id:

 

<?php  $conexao = mysql_connect("localhost", "root", "");   $db = mysql_select_db("teste");   $resultado = mysql_query($sql) or die("Erro ao exibir resultados");   while($linha=mysql_fetch_assoc($resultado)){     echo $_GET["$id"];    $sql = "SELECT * FROM news WHERE $id = id";    echo ["$titulo"];  echo ["$texto"];  echo ["$autor"];  echo ["$data"];    ?>

mas não est[a funcionando!

 

o que estou fazendo de errado?

 

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola!!

 

cotninua com erros

 

mas dá a mensagem "erro ao exibir resultados" que é o erro da query!

 

Minha tabela está assim:

 

CREATE TABLE `news`(`id` tinyint(3) NOT NULL auto_increment,`titulo` varchar(50) NOT NULL default '',`texto` varchar(50) default NULL,`autor` varchar(15) default NULL,`data` varchar(10) NOT NULL default '',PRIMARY KEY (`id`),KEY `id` (`id`))

e a tela que mostra os resultados assim:

 

<?php  $conexao = mysql_connect("localhost", "root", "");  $db = mysql_select_db("teste");  $id = $_GET["$id"];  $sql = "SELECT * FROM news WHERE id = $id";  $resultado = mysql_query($sql) or die("Erro ao exibir resultados");  while($linha=mysql_fetch_assoc($resultado)){	echo $linha["$titulo"];	echo $linha["$texto"];	echo $linha["$autor"];	echo $linha["$data"];  }?>

alguem me ajuda?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para mostrar o resultado de qualquer campo com $linha, voce deve colocar o nome do campo da tabela sem o $, assim ele deve estar interpretando como uma variavel.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como assim Ferazia?

 

tmferreira

 

estou chamando assim:

 

<tr>	<td height="166" valign="top" class="areaNoticias"><?php   $conexao = mysql_connect("localhost", "root", "");  $db = mysql_select_db("teste");   $sql = "SELECT * FROM news ORDER BY data DESC LIMIT 10";  $resultado = mysql_query($sql) or die("Erro ao exibir resultados");  while($linha=mysql_fetch_assoc($resultado)){ ?>	<input type="hidden" value="<? echo $id ?>" name="id" /> 	<table width="256" height="26" border="0" cellpadding="0" cellspacing="0">	  <tr>		<td width="77"><a href="pagina.php?id=<?php echo $linha['id']; ?>"><?php echo $linha['data']; ?></a> </td>		<td width="179"><?php echo $linha['titulo']; ?></td>	  </tr>	</table>	  <?php } ?>	  </td></tr></table>

quando eu olho no link, ele fica:

 

"http://localhost/teste/pagina.php?id=5" por exemplo

Compartilhar este post


Link para o post
Compartilhar em outros sites

tmferreira :D

 

Já consegui mostrar eles na tela, mas quando eu tento atualizar, ele diz que foi atrualizaod, mas quando eu visualizo na tabela, ele não atualizou....adicionei o mysql_error() e deu a seguinte mensagem:

 

"You have an error in your SQL syntax near ' titulo, texto, autor FROM news WHERE id = 2' at line 1"

 

atualizar_noticia.php

<?php $con = mysql_connect("localhost", "root", ""); $db = mysql_select_db("swebrazil"); $id = $_GET["id"]; $sql = "UPDATE data, titulo, texto, autor FROM news WHERE id = ".$id; $resultado = mysql_query($sql) or die (mysql_error()); echo("Notícia atualizada com sucesso!");  ?>

formulario.php

<form name="frmExclusao" method="post" action="atualizar_noticia.php?id=<?php echo $linha['id']; ?>"><table width="31%"  border="1">   <tr>	<td width="19%">Data - </td>	<td width="81%"><input type="text" name="data" value="<?php echo $linha["data"]; ?>"></td>  </tr>  <tr>	<td>Título - </td>	<td><input type="text" name="data" value="<?php echo $linha["titulo"];?>"></td>  </tr>  <tr>	<td>Texto -</td>	<td><input type="text" name="data" value="<?php echo $linha["texto"];?>"></td>  </tr>  <tr>	<td> Autor - </td>	<td><input type="text" name="data" value="<?php echo $linha["autor"];?>"></td>  </tr></table><input type="submit" name="btoAtualizar" value="Atualizar"></form>

ele mostra os dados, pra ele não atualiza no banco..ele diz que atualiza e não atualiza!

 

sabe o que pode ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php$con = mysql_connect("localhost", "root", "");$db = mysql_select_db("swebrazil");$id = $_GET["id"];$sql = "UPDATE data, titulo, texto, autor FROM news WHERE id = ".$id;$resultado = mysql_query($sql) or die (mysql_error());echo("Notícia atualizada com sucesso!");?>

 

Você deve colocar assim:

$sql="update TABELA set data='$data', titulo='$titulo', texto='$texto', autor='$autor' where id='$id'";

É claro que você só deve listar o que você quer atualizar. Mas você não tá pegando as variáveis do formulário, apenas o "id".

 

Seu formulário também parece não estar certo... Os "names" de todos os campos estão como "data". No form você tá usando POST e tá pegando via GET. Ou uma coisa ou outra!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola !

 

Continuo com problemas para atualizar..alguém pode me ajudar??

 

form.php:

<?php  $conexao = mysql_connect("localhost", "root", "");    $db = mysql_select_db("teste") or die("erro");    $id = $_GET["id"];  $sql = "SELECT * FROM news WHERE id = ".$id;  $resultado = mysql_query($sql) or die(mysql_error());    while($linha=mysql_fetch_assoc($resultado)){?><form name="frmExclusao" method="post" action="atualizar_noticia.php?id=<?php echo $linha['id']; ?>"><table width="31%"  border="1">   <tr>	<td width="19%">Data - </td>	<td width="81%"><input type="text" name="data" value="<?php echo $linha["data"]; ?>"></td>  </tr>  <tr>	<td>Título - </td>	<td><input type="text" name="titulo" value="<?php echo $linha["titulo"];?>"></td>  </tr>  <tr>	<td>Texto -</td>	<td><input type="text" name="texto" value="<?php echo $linha["texto"];?>"></td>  </tr>  <tr>	<td> Autor - </td>	<td><input type="text" name="autor" value="<?php echo $linha["autor"];?>"></td>  </tr></table><input type="submit" name="btoAtualizar" value="Atualizar"></form><?  }?>

atualizar_noticia.php

<?php $con = mysql_connect("localhost", "root", ""); $db = mysql_select_db("teste"); $id = $_POST["id"]; $data = $_POST["data"]; $titulo = $_POST["titulo"]; $texto = $_POST["texto"]; $autor = $_POST["autor"]; $sql = "UPDATE news SET data='$data', titulo='$titulo', texto='$texto', autor='$autor' WHERE id = ".$id; $resultado = mysql_query($sql) or die (mysql_error()); echo("Notícia atualizada com sucesso!");  ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aparece a mensagem:

 

You have an error in your SQL syntax near '' at line 1

Meu código está:

<?php  $conexao = mysql_connect("localhost", "root", "");    $db = mysql_select_db("teste") or die("erro");    $id = $_GET["id"];  $sql = "SELECT * FROM news WHERE id = ".$id;  $resultado = mysql_query($sql) or die(mysql_error());    while($linha=mysql_fetch_assoc($resultado)){?><form name="frmExclusao" method="get" action="atualizar_noticia.php?id=<?php echo $linha['id']; ?>"><table width="31%"  border="1">   <tr>	<td width="19%">Data - </td>	<td width="81%"><input type="text" name="data" value="<?php echo $linha["data"]; ?>"></td>  </tr>  <tr>	<td>Título - </td>	<td><input type="text" name="titulo" value="<?php echo $linha["titulo"];?>"></td>  </tr>  <tr>	<td>Texto -</td>	<td><input type="text" name="texto" value="<?php echo $linha["texto"];?>"></td>  </tr>  <tr>	<td> Autor - </td>	<td><input type="text" name="autor" value="<?php echo $linha["autor"];?>"></td>  </tr></table><input type="submit" name="btoAtualizar" value="Atualizar"></form><?  }?>

atualizar_noticia.php

<?php include("config.php"); $id = $_GET["id"]; $data = $_GET["data"]; $titulo = $_GET["titulo"]; $texto = $_GET["texto"]; $autor = $_GET["autor"]; $sql = "UPDATE news SET data='$data', titulo='$titulo', texto='$texto', autor='$autor' WHERE id = ".$id; $resultado = mysql_query($sql) or die (mysql_error()); echo("Notícia atualizada com sucesso!");  ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas se não está passando, como que ele preenche as coisas certinho?? rs

 

 

 

na página que manda para a página de atualizar, eu coloquei assim:

 

<?php  include("config.php");    $id = $_GET["id"];  $sql = "SELECT * FROM news WHERE id = ".$id;  $resultado = mysql_query($sql) or die(mysql_error());    while($linha=mysql_fetch_assoc($resultado)){?><form name="frmExclusao" method="get" action="atualizar_noticia.php?id=<?php echo $linha['id']; ?>"><table width="31%"  border="1">  <tr>	  <td width="19%">ID - </td>	<td width="81%"><input type="text" readonly="readonly" name="id" value"<?php echo $linha["id"]; ?>"></td>  </tr>  <tr>	<td width="19%">Data - </td>	<td width="81%"><input type="text" name="data" value="<?php echo $linha["data"]; ?>"></td>  </tr>  <tr>	<td>Título - </td>	<td><input type="text" name="titulo" value="<?php echo $linha["titulo"];?>"></td>  </tr>  <tr>	<td>Texto -</td>	<td><input type="text" name="texto" value="<?php echo $linha["texto"];?>"></td>  </tr>  <tr>	<td> Autor - </td>	<td><input type="text" name="autor" value="<?php echo $linha["autor"];?>"></td>  </tr></table><input type="submit" name="btoAtualizar" value="Atualizar"></form><?  }?>

Como o Adailton falou, o ID não esta sendo preenchido...como que posso arrumar isso??

Compartilhar este post


Link para o post
Compartilhar em outros sites

a action que você diz, é a que manda para a página "pagina.php"? A pagina.php eh a q manda atualizar os dados e enviar para a atualizar_noticas.php !

 

pagina.php

 

<?php  include("config.php");    $id = $_GET["id"];    echo ($id);  $sql = "SELECT * FROM news WHERE id = ".$id;  $resultado = mysql_query($sql) or die(mysql_error());    while($linha=mysql_fetch_assoc($resultado)){?>

Eu coloquei aquele ECHO ali e ela imprimiu a id = 2 que é a id certinha da noticia!! Mas pq ela não está passando??

Compartilhar este post


Link para o post
Compartilhar em outros sites

continua com a mesma mensagem

 

"SQL:UPDATE news SET data='2006/10/03', titulo='aiusehaiuseh', texto='DVD', autor='aisuheiase' WHERE id = "

 

noticas.php

<table width="260" height="100%" border="0" cellpadding="0" cellspacing="0">  <tr>	<td height="18" class="noticias">Novidades <a href="#" class="link">[ + ]</a></td>  </tr>  <tr>	<td height="166" valign="top" class="areaNoticias"><?php   include("config.php");  $sql = "SELECT * FROM news ORDER BY data DESC LIMIT 10";  $resultado = mysql_query($sql) or die("Erro ao exibir resultados");  while($linha=mysql_fetch_assoc($resultado)){ ?>	<input type="hidden" value="<? echo $id ?>" name="id" /> 	<table width="256" height="26" border="0" cellpadding="0" cellspacing="0">	  <tr>		<td width="77"><a href="pagina.php?id=<?php echo $linha['id']; ?>"><?php echo $linha['data']; ?></a></td>		<td width="179"><?php echo $linha['titulo']; ?></td>	  </tr>	</table>	  <?php } ?>	  </td></tr></table>

pagina.php

<?php  include("config.php");  $id = $_GET["id"];  echo ($id);  $sql = "SELECT * FROM news WHERE id = ".$id;  $resultado = mysql_query($sql) or die(mysql_error());  while($linha=mysql_fetch_assoc($resultado)){?><form name="frmExclusao" method="get" action="atualizar_noticia.php?id=<?php echo $id; ?>"><table width="31%"  border="1">  <tr>	  <td width="19%">ID - </td>	<td width="81%"><input type="text" readonly="readonly" name="id" value"<?php $id; ?>"></td>  </tr>  <tr>	<td width="19%">Data - </td>	<td width="81%"><input type="text" name="data" value="<?php echo $linha["data"]; ?>"></td>  </tr>  <tr>	<td>Título - </td>	<td><input type="text" name="titulo" value="<?php echo $linha["titulo"];?>"></td>  </tr>  <tr>	<td>Texto -</td>	<td><input type="text" name="texto" value="<?php echo $linha["texto"];?>"></td>  </tr>  <tr>	<td> Autor - </td>	<td><input type="text" name="autor" value="<?php echo $linha["autor"];?>"></td>  </tr></table><input type="submit" name="btoAtualizar" value="Atualizar"></form><?  }?>

e a atualizar_noticia.php

<?phpinclude("config.php");$id = $_GET["id"];$data = $_GET["data"];$titulo = $_GET["titulo"];$texto = $_GET["texto"];$autor = $_GET["autor"];$sql = "UPDATE news SET data='$data', titulo='$titulo', texto='$texto', autor='$autor' WHERE id = ".$id;die('SQL:' . $sql);$resultado = mysql_query($sql) or die (mysql_error());echo("Notícia atualizada com sucesso!");  ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

como assim?

 

o codigo fonte através do browser

 

4<form name="frmExclusao" method="get" action="atualizar_noticia.php?id=4"><table width="31%"  border="1">  <tr>	  <td width="19%">ID - </td>	<td width="81%"><input type="text" name="id" value"4"></td>  </tr>  <tr>	<td width="19%">Data - </td>	<td width="81%"><input type="text" name="data" value="2006/10/03"></td>  </tr>  <tr>	<td>Título - </td>	<td><input type="text" name="titulo" value="seaiu5"></td>  </tr>  <tr>	<td>Texto -</td>	<td><input type="text" name="texto" value="ausheiase"></td>  </tr>  <tr>	<td> Autor - </td>	<td><input type="text" name="autor" value="aisuheiase"></td>  </tr></table><input type="submit" name="btoAtualizar" value="Atualizar"></form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah garotoAgora foi! :DAcho que estava faltando um sinal de "=" rsrsaproveitando o tópico, como que eu faço pra formatar a data? .. ela esta vindo ano/dia/mesalguem pode me ajudar nisso?ahh e como que eu faço pra ao invés de dar aquele "echo("Notícia atualizada com sucesso!");"eu dar um alert e redirecionar pra outra página??

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.