Ir para conteúdo

POWERED BY:

Arquivado

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

Gustavo Katibian

[Resolvido] Link em busca por ID.

Recommended Posts

Galera, eu estou fazendo um sistema de notícias, e a página que eu uso pra adicionar está funcionando...

 

Estou com um pequeno problema...

 

O título da notícia com um link que mande para a notícia adicionada, no caso algo como isso: ver_new-1.php

 

Onde ver_new é a página e o 1 é o Id da notícia...

 

Eu sei mais ou menos como fazer, eu fiz isso aqui ó:

 

<?
$id=$_GET['id'];

$sql="SELECT * FROM noticias WHERE id='$id'";
$result=mysql_query($sql);

$rows=mysql_fetch_array($result);
?>
</p>
<table width="100%" border="0">
  <tr bgcolor="#CCCCCC">
    <td width="117">#</td>
    <td width="1264"><b>
      <?=$rows['id']; ?>
    </b></td>
  </tr>
  <tr bgcolor="#CCCCCC">
    <td>Data:</td>
    <td><b>
    <?=$rows['data']; ?>
    </b></td>
  </tr>
  <tr bgcolor="#CCCCCC">
    <td>Titulo:</td>
    <td><b>
      <?=$rows['titulo']; ?>
    </b></td>
  </tr>
  <tr bgcolor="#CCCCCC">
    <td>Mensagem:</td>
    <td><?=$rows['mensagem']; ?></td>
  </tr>
</table>

Tem algo de errado ai?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro de tudo que isso não deveria funcionar :D

 

Sua página se chama ver_new-1.php e como você mesmo disse, o 1 seria o ID da notícia.

 

Nessa linha de pensamento você teria um arquivo para CADA notícia e cada arquivo faria uma consulta diferente. Imagina se em um dia 1000 usuários diferentes acessam ao mesmo tempo notícias diferentes. :o

 

Segundo que em cada página há $id=$_GET['id']; e aconsulta se baseia nesse valor.

 

Novamente, como você disse que o ID está no nome do arquivo essa query retornaria NADA, SEMPRE, pois a variável $id seria sempre traduzida em NULL, a menos que seja passado um ID via URL (?id=XXX)

 

De fato o certo seria um único arquivo, correspondente à uma única página, receber o ID vindo da URL, TRATÁ-LO por segurança, consultar a notícia no BD e, só se existir retornar o conteúdo, caso contrário, avisar que a mensagem não existe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, na verdade o teu arquivo será:

ver_new.php

e os links serão no formato:

ver_new.php?id=1

ver_new.php?id=7

ver_new.php?id=23

entendeu ?

 

mostre o arquivo onde você gera os links

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, eu coloquei isso:

 

ver_news&id=1

E "funcionou", abriu a página de ver a notícia, só que assim, não exibe nada e da o seguinte erro:

 

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\arquivos de programas\easyphp1-8\www\pages\ver_news.php on line 7

Que seria a linha:

 

$rows=mysql_fetch_array($result);

Não posso removê-la, se não irá dar erro nas outras linhas...

 

E eu utilizo links como ?go=PAGINA para abrir, no caso eu usei:

 

?go=ver_news&id=1

Compartilhar este post


Link para o post
Compartilhar em outros sites

para descobrir o motivo do erro:

$result=mysql_query($sql) or die( mysql_error() );
leia:

http://forum.imasters.com.br/index.php?/topic/375800-orientacoes-para-uma-boa-participacao/

Compartilhar este post


Link para o post
Compartilhar em outros sites

assim que você adicionar o or die( mysql_error() );

 

o php, vai te disparar o motivo da query ter falhado.

Entenda oque aparecer. Se tiver dificuldades poste oque aparecer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa cara, que erro besta...

 

Muita falta de atenção minha, o erro foi que nenhum banco de dados estava sendo selecionado, ou seja, a tabela era NOTICIA e não NOTICIAS...

 

Consegui fazer com o que você disse...

 

Sinto muito por ocupar o seu tempo por um erro tão besta!!!

 

Mas obrigado, ajudou a solucionar o meu problema...

 

Podem fechar o tópico!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parabéns cara!

 

imagina, não esquenta.. a idéia do fórum é movimentar idéias.

De agora em diante, se você 'adotar' essa prática(habilitar mensagens de erro, adicionar mysql_error()..), vai perder menos tempo teu, com esses erros, pois vai ser capaz de solucioná-los mais rapidamente.

 

:lol:

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.