Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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>Resumindo, basta gerar um sistema de urls amigáveis que leiam o valor depois do hífen.
Então, seria neste estilo aqui:
http://www.seusite.com.br/?se=artigos&action=show&id=33
Esse &id=33 seria o ID da notícia, é isso que eu tentei dizer... ;X
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
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
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/
Amigo, sou meio leigo no assunto, e não entendi muito bem... Olhei na lista de erros comuns e também não achei o erro la...
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.
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!
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:
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.