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

listar tabela limitada por tres registros por categoria php mysql


RodrigoKyo22

Pergunta

 

boa tarde tenho uma tabela clientes , e nela tem um campo categoria como faço para listar essa consulta onde vai exibir tres ultimos registros por categoria, estou usando o mysql com o php

nome1 | email | categoria01
nome2 | email | categoria01
nome3 | email | categoria01
nome4 | email | categoria02
nome5 | email | categoria02
nome6 | email | categoria02

 

obrigado 

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 2

Esse tipo de consulta é bem difícil de fazer no MySQL. Mas, graças a Deus, nós temos o PHP!

<?php
$mysqli=new mysqli("localhost","root","","astudy");
for($categoria=1;$categoria<=5;$categoria++){
    $query=$mysqli->query("select id,pessoa,categoria from tbpessoa
        where categoria=$categoria order by id desc limit 3");
    while($pessoa=$query->fetch_assoc()){
        echo $pessoa['categoria']." => ".$pessoa['pessoa']."<br>";}}

 

Editado por Frank K Hosaka
Link para o comentário
Compartilhar em outros sites

  • 1
41 minutos atrás, lowys disse:

Sr. @Frank K Hosaka é ninja!
Fez uma busca pra cada e concatenou no array que vai ser devolvido pro front.
Muito boa a solução! Parabéns!    👏👏👏

Hahahahaha... esses aplausos não são merecidos!

Eu simplesmente não consegui montar a consulta no MySQL, eu não tive outra solução senão apelar para o PHP, é uma solução de desespero. Quem merece o aplauso é quem conseguir montar uma procedure no MySQL que consiga relacionar os três últimos registros de cada categoria. Isso eu não consegui! Eu agradeço os aplausos, mas eles não são merecidos.

Link para o comentário
Compartilhar em outros sites

  • 0
9 minutos atrás, lowys disse:

faça três buscas, concatene o resultado das 3 num array e entregue pro front

sim essa seria uma ideia, porem tenho 5 categorias, mas queria fazer isso diretamente na tabela na hora de fazer a requisição no MySQL para listar, queria evitar fazer várias buscas individuais (daria certo também), mas vou tentar dessa forma que você mencionou.

Link para o comentário
Compartilhar em outros sites

  • 0
13 horas atrás, Frank K Hosaka disse:

Esse tipo de consulta é bem difícil de fazer no MySQL. Mas, graças a Deus, nós temos o PHP!

<?php
$mysqli=new mysqli("localhost","root","","astudy");
for($categoria=1;$categoria<=5;$categoria++){
    $query=$mysqli->query("select id,pessoa,categoria from tbpessoa
        where categoria=$categoria order by id desc limit 3");
    while($pessoa=$query->fetch_assoc()){
        echo $pessoa['categoria']." => ".$pessoa['pessoa']."<br>";}}

 

top amigo deu certo!, só relacionei o id categoria com a tabela categoria e listou corretamente, muito obrigado

Link para o comentário
Compartilhar em outros sites

  • 0
Agora, Frank K Hosaka disse:

Hahahahaha... esses aplausos não são merecidos!

Eu simplesmente não consegui montar a consulta no MySQL, eu não tive outra solução senão apelar para o PHP, é uma solução de desespero. Quem merece o aplauso é quem conseguir montar uma procedure no MySQL que consiga relacionar os três últimos registros de cada categoria. Isso eu não consegui! Eu agradeço os aplausos, mas eles não são merecidos.

sim realmente montar no MySQL achei complicado, pois tem que relacionar o limite por cada categoria individual e ainda agrupar, tentei o group by, o having, eu tinha pesquisado sobre o subsql o problema e que o id categoria esta na mesma tabela, mas da forma que você fez deu super certo ate já apliquei hehe

Link para o comentário
Compartilhar em outros sites

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...