pteixeira 0 Denunciar post Postado Janeiro 23, 2008 Oi pessoal estou querendo que quando se altera o nr. ID na URL esta mostre a noticia alojada na BD com o ID 2 o problema é que não está a fazer nada disso, simplesmente coloca todas as noticias sendo estas com os ID 1, 2 ou 3 tipo isto http://www...../noticias.php?id=2 Alguém me pode ajudar?, junto anexo o código. <?php require_once "config.inc.php"; require_once "func.inc.php"; ?> <table width="450" height="350" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="texto_empresa"> <tr> <td valign="top"> <?php $con_noticias = "Select * from noticias order by data DESC"; $resultadocon_noticias = mysql_query($con_noticias) or die ("Query invalida: " . mysql_error()); if(mysql_num_rows($resultadocon_noticias) != "0") { ?> <?php while($row = mysql_fetch_array($resultadocon_noticias)) { $id = $row['id']; $titulo = $row['titulo']; $descricao = $row['descricao']; $data = $row['data']; ?> <tr> <td class='td_edit' align='left'><?=$data;?><br><br></td> </tr><tr> <td class='td_edit'><strong><?=$titulo;?></strong></td> </tr><tr> <td class='td_edit'><?=$descricao;?><br></td> </tr> <?php } ?> </table> <?php } else { ?> <p align="center" class="texto_geral_preto">Não existem noticias criadas </p> <?php } ?> <?php print_r($erro);?></p> </p> <table width="450" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="texto_empresa"> <tr> <td valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td height="19" colspan="3" class="texto_branco_laranja"> Notícias, Novidades ou Destaques no seu Email</td> </tr> <tr> <td height="22"><strong> Notícias</strong></td> <td height="22"><a href="http://www.itsmattress.eu/pt/rss.php" target="_blank">http://www.itsmattress.eu/pt/rss.php</a></td> <td height="22"><div align="right"><a href="http://www.itsmattress.eu/pt/rss.php" target="_blank"><img src="http://www.itsmattress.eu/pt/ima/rss_ico.gif" border="0" /></a></div></td> </tr> </table></td> </tr> </table> Compartilhar este post Link para o post Compartilhar em outros sites
japalfalfa 1 Denunciar post Postado Janeiro 23, 2008 desculpa não sou tão avançado mas não seria aqui? $con_noticias = "Select * from noticias WHERE 'id' = 'id' order by data DESC assim você faz a query pegando a variável... entende? Compartilhar este post Link para o post Compartilhar em outros sites
pteixeira 0 Denunciar post Postado Janeiro 23, 2008 Continua sem dar. Isto é, aparecem todas as noticias da BD ver por favor no seguinte link Visite meu site Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
williamhrs 0 Denunciar post Postado Janeiro 23, 2008 coloca no inicio $id = $_GET["id"] e na consulta coloca where id=".$id." Compartilhar este post Link para o post Compartilhar em outros sites
pteixeira 0 Denunciar post Postado Janeiro 23, 2008 Oi William, devo ter feito alguma coisa errado Pois agora dá logo a msg de q não existem notícias Obrigado pela ajuda <?php $con_noticias = "Select * from noticias WHERE id = '.$id.' order by data DESC"; $resultadocon_noticias = mysql_query($con_noticias) or die ("Query invalida: " . mysql_error()); if(mysql_num_rows($resultadocon_noticias) != "0") { ?> <?php while($row = mysql_fetch_array($resultadocon_noticias)) { $id = $_GET["id"]; $id = $row['id']; $titulo = $row['titulo']; $descricao = $row['descricao']; $data = $row['data']; ?> <tr> <td class='td_edit' align='left'><?=$data;?><br><br></td> </tr><tr> <td class='td_edit'><strong><?=$titulo;?></strong></td> </tr><tr> <td class='td_edit'><?=$descricao;?><br></td> </tr> <?php } ?> </table> <?php } else { ?> <p align="center" class="texto_geral_preto">Não existem noticias criadas </p> <?php } ?> <?php print_r($erro);?></p> Compartilhar este post Link para o post Compartilhar em outros sites
williamhrs 0 Denunciar post Postado Janeiro 23, 2008 existe o campo id nas noticias? posta a estrutura da sua table ae Compartilhar este post Link para o post Compartilhar em outros sites
pteixeira 0 Denunciar post Postado Janeiro 23, 2008 Sim existe id int(11) Não auto_increment titulo mediumtext latin1_general_ci Não titulo_es longtext latin1_general_ci Não descricao longtext latin1_general_ci Não descricao_es longtext latin1_general_ci Não data date Compartilhar este post Link para o post Compartilhar em outros sites
vidaloukaig 0 Denunciar post Postado Janeiro 24, 2008 Simples.... se seu campo ID não é auto increment... e se você não colocar o números das notíciar manualmente (ex.: 1, 2, 3 para cada linha da tabela )..... todos os dados do campo ID serão nulos... e sistema não vai identificar nenhuma noticia.... por isso ele manda a mensagem de que não tem noticias... Compartilhar este post Link para o post Compartilhar em outros sites
pteixeira 0 Denunciar post Postado Janeiro 24, 2008 OI VidaLouca, o campo é auto increment este NÃO id int(11) Não auto_increment é da Estrutura NULO em que estão todos os campos como NÃO Veja aí a imagem Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Janeiro 24, 2008 <?php $id=$_GET["id"]; $sql = "SELECT * FROM noticias WHERE id='$id' ORDER BY data DESC LIMIT 1"; $query = mysql_query($sql) or die ("Query invalida: " . mysql_error()); if(mysql_num_rows($query) > 0) { while($row = mysql_fetch_array($query)) { ?> <tr> <td class='td_edit' align='left'><? echo $row['id'];?><br><br></td> </tr><tr> <td class='td_edit'><strong><? echo $row['titulo'];?></strong></td> </tr><tr> <td class='td_edit'><? echo $row['descricao']; ?><br></td> </tr> <? } ?> </table> <?php } else { ?> <p align="center" class="texto_geral_preto">Não existem noticias criadas </p> <?php } ?> <?php print_r($erro);?></p> essa variavel $erro não aparece no código q você postou, a declaração Compartilhar este post Link para o post Compartilhar em outros sites
pteixeira 0 Denunciar post Postado Janeiro 24, 2008 É obrigadão Resultou, MAS AGORA ESTOU COM UMA DUVIDA como faço para mostrar por defeito todas as noticias, é q agora só aparecem as noticias conforme o ID q esteja no URL tipo id=1 aparecce só a noticia 1 Esta parte está como pretendia assim é só fazer linkagem dos titulos das noticias paras as respectivas Noticias http://itsmattress.eu/pt/noticias.php?id=1 http://itsmattress.eu/pt/noticias.php?id=2 Compartilhar este post Link para o post Compartilhar em outros sites
pteixeira 0 Denunciar post Postado Janeiro 24, 2008 Tentei fazer assim, mas mostra só uma notícia <?php $id=$_GET["id"]; if(!empty($_GET["id"])){ $sql = "SELECT * FROM noticias WHERE id='$id' ORDER BY data DESC LIMIT 1"; }else{ $sql = "SELECT * FROM noticias ORDER BY data DESC LIMIT 1"; } $query = mysql_query($sql) or die ("Query invalida: " . mysql_error()); if(mysql_num_rows($query) > 0) { while($row = mysql_fetch_array($query)) { ?> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="350" valign="top"><table width="450" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="texto_empresa"> <tr> <td height="50" valign="middle"><strong><? echo $row['titulo'];?></strong> <tr> <td><? echo $row['descricao']; ?><br></td> </tr> <? } ?> </table> <?php } else { ?> <p align="center" class="texto_geral_preto">Não existem noticias criadas </p> <?php } ?> <?php print_r($erro);?></p> Compartilhar este post Link para o post Compartilhar em outros sites
pteixeira 0 Denunciar post Postado Janeiro 24, 2008 POST RESOLVIDO BRIGADÃO AQUELES Q ME AJUDARAM, VALEU MESMO ABRAÇO. Compartilhar este post Link para o post Compartilhar em outros sites
Eduneri 0 Denunciar post Postado Janeiro 24, 2008 E aí beleza? Tenta fazer assim: <? $sql = "SELECT * FROM noticias ORDER BY data DESC LIMIT 1"; $query = mysql_query($sql) or die ("Query invalida: " . mysql_error()); if(mysql_num_rows($query) > 0) { while($row = mysql_fetch_array($query)) { ?> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="350" valign="top"><table width="450" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="texto_empresa"> <tr> <td height="50" valign="middle"><strong><? echo "<a href=\"noticias.php?id=$row[id]\">$row['titulo']</a>"; ?></strong> <? } ?> </table> <?php } else { ?> <p align="center" class="texto_geral_preto">Não existem noticias criadas </p> <?php } ?> <?php print_r($erro);?></p> Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Janeiro 24, 2008 Tentei fazer assim, mas mostra só uma notícia <?php $id=$_GET["id"]; if(!empty($_GET["id"])){ $sql = "SELECT * FROM noticias WHERE id='$id' ORDER BY data DESC LIMIT 1"; }else{ $sql = "SELECT * FROM noticias ORDER BY data DESC LIMIT 1"; } $query = mysql_query($sql) or die ("Query invalida: " . mysql_error()); if(mysql_num_rows($query) > 0) { while($row = mysql_fetch_array($query)) { ?> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="350" valign="top"><table width="450" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="texto_empresa"> <tr> <td height="50" valign="middle"><strong><? echo $row['titulo'];?></strong> <tr> <td><? echo $row['descricao']; ?><br></td> </tr> <? } ?> </table> <?php } else { ?> <p align="center" class="texto_geral_preto">Não existem noticias criadas </p> <?php } ?> <?php print_r($erro);?></p> Não entendi direito, você quer criar uma nova página para ver todas as notícias ou nessa que tem id=$id ver todas tb ? Para ver todas notícias você usa $sql = "SELECT * FROM noticias ORDER BY data DESC"; O LIMIT 1 serve só para limitar a seleção de um registro, se você quisesse 5 notícias seria LIMIT 5 Compartilhar este post Link para o post Compartilhar em outros sites