Ir para conteúdo

POWERED BY:

Arquivado

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

pteixeira

noticias.php?id=2

Recommended Posts

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

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

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

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

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

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

 

Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?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

É 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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.