Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Exibir lista conforme a categoria

Baseado neste curso, estou criando um blog e na minha página index, eu exibo dois tipos de texto que são poesia e estudos.

Certo, quando cadastro um dos textos eu seleciono a categoria respectiva, ou seja, categoria poesias e categoria texto, mas quando vou exibir na index não consigo fazer a separação por categoria, pois quero listar poesias em sections separadas na minha index.

Por enquanto tenho uma section única que exibem os dois que é:

<article"> <?php require_once "conecta.php"; require_once "banco-postagens.php"; $postagens = listaPostagens($conexao); foreach($postagens as $postagem) : ?>

<?=$postagem['titulo']?>

<?=nl2br($postagem['texto'])?>

<?php endforeach ?>

Resumindo

No meu banco a lista de categoria tem categorias id 01 = poesias id 02 = estudos

Preciso que quando eu selecione a categoria poesias durante o cadastro ela seja lista na section poesias e quando eu selecionar a categoria estudos, o estudo seja listado na section estudos no meu index. Alguém pode me ajudar?

4 respostas
solução!

Um jeito simples de fazer é montar um filtro dentro do foreach

<?php 
require_once "conecta.php"; 
require_once "banco-postagens.php";
$postagens = listaPostagens($conexao); 

//Código pra listar as postagens de poesias
foreach($postagens as $postagem) 
{
    if( $postagem['categoria_id'] == '01' )
    {
        echo $postagem['titulo'];
        echo nl2br( $postagem['texto'] );
    }
}

//Na outra parte as postagens de estudos
//Código pra listar as postagens de estudos
foreach($postagens as $postagem) 
{
    if( $postagem['categoria_id'] == '02' )
    {
        echo $postagem['titulo'];
        echo nl2br( $postagem['texto'] );
    }
}
?>

Muito obrigado Tarcísio! Obrigado mesmo

Marca o tópico como solucionado. Ajuda as pessoas que estão com a mesma duvida a achar a resposta. Abraços.

Economia e simplicidade do código:

<?php 
require_once "conecta.php"; 
require_once "banco-postagens.php";
$postagens = listaPostagens($conexao); 

//Código pra listar as postagens de poesias
foreach($postagens as $postagem) 
{
    if( $postagem['categoria_id'] == '01' ) // Se o id da categoria for igual a 01
    {
        echo $postagem['titulo'];
        echo nl2br( $postagem['texto'] );
    } elseif( $postagem['categoria_id'] == '02' ) // Ou se o id da categoria for igual a 02
    {
        echo $postagem['titulo'];
        echo nl2br( $postagem['texto'] );
    }
}
?>