Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera estou precisando muito de ajuda, é o seguinte eu quero exibir da seguinte forma:
Só que meu loop não tá exibindo assim, ele exibe desse jeito
A categoria Em Geral tem duas áreas, e não tá exibindo da forma que eu gostaria... como eu posso arrumar isso?
<?php
include("inc/header.php");
$sqlCategorias = mysqli_query($conexao, "SELECT nomeCategoria, nomeArea FROM area INNER JOIN categoria ON area.idCategoria = categoria.idCategoria");
$sqlWidgets = mysqli_query($conexao, "SELECT tituloWidget, conteudoWidget FROM widget");
?>
<div class="container">
<section class="categorias col-md-9">
<?php
while($row = mysqli_fetch_array($sqlCategorias)):
$nomeCategoria = $row['nomeCategoria'];
$nomeArea = utf8_encode($row['nomeArea']);
?>
<article>
<h2><?php echo $nomeCategoria; ?></h2>
<ul>
<li><a href="#"><?php echo $nomeArea;?></a></li>
</ul>
</article>
<?php
endwhile;
?>
</section>
<aside class="widgets col-md-3">
<?php
while($row = mysqli_fetch_array($sqlWidgets)):
$tituloWidget = utf8_encode($row['tituloWidget']);
$conteudoWidget = utf8_encode($row['conteudoWidget']);
?>
<div class="widget">
<h2><?php echo $tituloWidget; ?></h2>
<p><?php echo $conteudoWidget; ?></p>
</div>
<?php
endwhile;
?>
</aside>
</div>
<?php
include("inc/footer.php");
?>Usando o foreach resolve meu problema?
Usando o foreach resolve meu problema?
Então, é que eu sou acostumado a usar foreach, mas a ideia é a seguinte:
Você tem seu loop (while, for, foreach) das categorias "pai", chamemos assim as categorias principais. No seu banco de dados você precisa de um campo que relacione categoria x com y, eu costumo colocar o nome "pai".
Ou seja, se a categoria for uma categoria "principal, ou pai" você seta o campo como 0, se for uma filha, seta o campo com o id do pai dela. Feito isto, na hora do loop, você busca primeiro as categorias com pai = 0, ou seja, as principais, e dentro de cada principal (ou seja, dentro ainda do loop), você faz uma consulta pegando todas as "filhas" com id do respectivo "pai".
Agora releia o código do meu comentário a cima que eu acho que você vai conseguir entender!
É um exemplo bem cagado, mas só pra você entender a ideia!