Ir para conteúdo

POWERED BY:

Arquivado

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

daviassumpcao

Exibir registro com condição

Recommended Posts

Tenho um site de notícias que possui duas categorias de publicações (1 e 2), na home há uma área de destaque que exibe as 3 últimas postagens independente da categoria (1 ou 2)... em outra área são exibidas as 3 últimas da categoria 1 ... e em outra área as 3 últimas da categoria 2 ....

Eu gostaria de saber se há como exibir nas áreas destinadas às categorias 1 e 2 separadamente, os registros exceto esses que já estão em destaques.

Todos os registros são ordenados por data de publicação, ou seja, o mais novo substitui a exibição do antigo.

Esse é o link do site: www.nhlbrasil.com.br

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu faria direto na consulta ao banco.

Tente fazer uma query pegando todos os valores e uma subquery com o NOT IN para retirar os 3 registros mais recentes, deixando então apenas estes que estão fora do destaque.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante

Cara coloca na condição que vem da "query" (o "WHERE") e tente separar, pois não acredito que vai ficar organizado na mesma consulta.

$cat = "1";
"WHERE categoria = '$cat' ORDER BY data_da_noticia DESC LIMIT 5"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Pessoal.

A dúvida é referentea um menu de "noticias" de um site, onde as noticias são apresentadas na página em forma resumida (somente a foto, título e descrição curta) e caso o usuário queira saber mais sobre a notícia ele poderá clicar no botão "Saiba mais...".

Obs: As notícias são alimentadas via painel adm.

Espero ter sido breve e conciso na explicação.

Vamos la... o problema em si esta relacionando ao botão "Saiba mais...", não estou conseguindo chamar a página que contém a noticia completa.

Estou pegando o id da página nóticias pelo método GET, realizo o select mas apresenta erro.

Agora vou demonstrar oque eu realizei.
No meu index criei um array das páginas, segue abaixo: (A página noticia é representada pela página 'texto' e a página que apresentara a noticia completa é representada pela página 'textoCompleto')

- No index:

<?php
$url = (isset($_GET['url'])) ? $_GET['url']:'';//var 'url' recebedo pág sendo verificada pela função isset
$explode = explode('/',$url);
$paginas = array('home','projeto', 'servicos','texto','textoCompleto','sobrenos','contato');
//verificação de clique caso contrário inicia na pág home.php
if(isset($explode[0])&& $explode[0] == ''){//inicia o site na pág home
include "home.php";
}elseif($explode[0]!=''){//caso não seja vazia, usuário clicou em algum menu é apresentado
if(isset($explode[0]) && in_array($explode[0],$paginas)){
include $explode[0].".php";//contatenando
}else{
include "home.php";
}
}
?>
- Na página texto criei o botão direcionando para a página 'textoCompleto", segue:
//endereço da página textoCompleto informando o ID
<a href="<?php echo pg. '/textoCompleto.php?id='?><?php echo $linhas_consulta['id']; ?>">
<button type="button" class="btn btn-secondary">Leia mais...</a></button>
- Na página textoCompleto pegando o ID e fazendo o select bem como apresentação da noticia completa pelos campos imagem, nome, descricao_completa:
<?php
$id = $_GET['id'];//pegando o id da URL
//executar consulta
$consulta = mysql_query("SELECT * FROM texto WHERE id='$id");
//$linhas_consulta = mysql_num_rows($consulta);
?>
<div class="row">
<?php
while($linhas_consulta = mysql_fetch_assoc($consulta)){
$imagem = pg.'../foto/'.$linhas_consulta['imagem'];
?>
<div class="col-xs-12 col-sm-4 col-md-3 tratandoDIV">
//apresentando imagem
<img alt="Imagem" class="img-responsive" width="40%" src="<?php echo $imagem; ?>" />
</div>
<div class="col-xs-12 col-sm-8 col-md-9 ">
<h3><?php echo $linhas_consulta['nome'] ;?></h3>
<p><?php echo $linhas_consulta['descricao_longa'] ;?></p>
</div>
<?php } ?>
</div>

- O erro que apresenta ao clicar no botão "Saiba mais..." é:


Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Praticando\textoCompleto.php on line 25
- Já fiz o echo $id para ver se apresenta o id e esta ok... Tentei diversas situações mas sem exito...
Alguém, por gentileza, poderia me dar um help nessa...?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu faria direto na consulta ao banco.

Tente fazer uma query pegando todos os valores e uma subquery com o NOT IN para retirar os 3 registros mais recentes, deixando então apenas estes que estão fora do destaque.

Até tinha feito isso VerdenKaf ... mas o NOT IN está excluindo dos resultados apenas o registro mais recente... na consulta estou limitando aos 3 últimos mais recentes

Compartilhar este post


Link para o post
Compartilhar em outros sites

Até tinha feito isso VerdenKaf ... mas o NOT IN está excluindo dos resultados apenas o registro mais recente... na consulta estou limitando aos 3 últimos mais recentes

Então você não implementou da forma correta.

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.