Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda com looping em tabela.


fspjonny

Pergunta

Olá!

Eu preciso montar uma tela onde seja exibido uma lista de publicações ordendas a critério do usuário, por exemplo: Categorias (LIVROS, PERIÓDICOS e CAPÍTULOS DE LIVROS), o usuário irá ordenar conforme sua necessidade. 1º PERIÓDICOS, 2º LIVROS, etc....

Eu preciso que a tabela que contenha as publicações sejam listadas abaixo de cada categoria, sendo ordenadas pela maior data de cada publucação por Categoria.

Então pensei em fazer um laço para ler a ordem das categorias e montar na tela e abaixo de cada categoria virá as publicações de cada categoria ordenadas como falei acima.

O problema é que no meu laço, isso só está sendo feito uma única veze não repete para as demais categorias, que são exibidas na tela vazias.

image.png.702f4db020d87c95d552e384818d5f5f.png

Quando eu mudo a ordenação das categorias o mesmo ocorre.

image.png.b2f903a56fc7079593772a463d602b61.png

nesse caso as categorias PERIÓDICOS e CAPÍTULOS DE LIVROS, não recebem os dados de suas publicações.

O código do laço é esse:

<?php
/* vai receber o titulo de cada categoria para fazer a SELECT*/
global $utf_tit_categ;

$ordenacao = "SELECT titulo_categoria FROM tblcatpesquisa ORDER BY posicao";
$relaciona = mysqli_query($conecta, $ordenacao);

/* tem a variável $rowcount que recebe o total de registros da tabela de CATEGORIAS */	
for($a=0; $a <= $rowcount; $a++){
	
$ordem = mysqli_fetch_assoc($relaciona);
	$utf_tit_categ = utf8_encode($ordem['titulo_categoria']); /*a Global vai receber o nome da categoria formatado em UTF8*/
	
/* aqui é montado a exibição do título de cada uma das CATEGORIAS contadas por $rowcount */
	echo "<div class='container bg-primary'><span class='font-weight-light text-white'>{$utf_tit_categ}</span></div>";

/* faço um Query para relacionar todas as publicações referentes a CATEGORIA do primeiro loop de FOR*/
	$seleciona_itens = "SELECT datapublicacao, titulo, linkexterno FROM publicacoes WHERE categoria='$utf_tit_categ' ORDER BY datapublicacao DESC";
	$executa_busca = mysqli_query($conecta, $seleciona_itens);
	while($item = mysqli_fetch_assoc($executa_busca)){
	$utf_tit_pesq = utf8_encode($item['titulo']);	
	echo "<div id='fundo'><span class='mx-3'>{$item['datapublicacao']} - {$utf_tit_pesq} - {$item['linkexterno']}</span></div>";
	}
	mysqli_free_result($executa_busca); /*Libero a Query para uma nova consulta*/

/* o laço deve voltar daqui até que $rowcount seja atingido */

}
mysqli_free_result($relaciona);	
?>

Não sei o que estou fazendo errado, ou então o que eu deixei de fazer.

Alguém poderia me auxiliar para resolver esse problema?

Grato!.

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...