Agrupando por Data

14 views
Skip to first unread message

WebEder Eder

unread,
Feb 14, 2014, 7:02:40 AM2/14/14
to ph...@googlegroups.com
Bom dia galera! 
Venho hoje pedir ajuda de vocês na seguinte situação:

Tenho uma tabela com data , titulo , conteúdo etc..
nela preciso listar agrupando títulos por data  exemplo:

14/02/2014
    Título1 
    Título2
    Título3
13/02/2014
    Título4
    Título5
    Título6
    Título7
etc..

Tipo já li bastante sobre o assunto e fiz alguns testes, mas ainda não ta trazendo os resultados como eu preciso.

Alguém tem uma ideia? 

Desde já obrigadão!

Daniel Archer

unread,
Feb 14, 2014, 7:51:57 AM2/14/14
to ph...@googlegroups.com
Pelo que entendi é um sql estilo "Select data,titulo from noticias order by data desc" seguido de uma listagem simples desses dados?
Ou tem algo mais complexo no meio?


--
Você está recebendo esta mensagem porque se inscreveu no grupo "PHPRS" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para phprs+un...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.



--
Daniel Archer
Analista e Desenvolvedor de Sistemas Web
(51) 9672.3064

WebEder Eder

unread,
Feb 14, 2014, 8:15:05 AM2/14/14
to ph...@googlegroups.com
Tipo listando normal ele traz cada linha com sua data , titulo e assunto etc , mas o que eu quero é que ele traga todos os títulos agrupando por datas. e não cada registro mostrando suas respectiva data.

Eu teria no banco mais ou menos isso:

  id= 1  Título1 tem uma data = 14/02/2014
  id= 2 Título2 tem uma data = 13/02/2013
   id= 3 Título3 tem uma data = 14/02/2014

 Então eu faria um select agrupando por datas e um for listando todas por datas e assim por diante 

como eu quero:

echo 14/02/2014
          echo   id= 1,  Título1 tem uma data = 14/02/2014
          echo  id= 3, Título3 tem uma data = 14/02/2014

echo 13/02/2014
          echo id= 2,  Título2 tem uma data = 13/02/2013

resultado do for ele está trazendo registro agrupando por datas e mostrando os registros.


 Entendeu ?   


--
Você recebeu esta mensagem porque está inscrito em um tópico do grupo "PHPRS" dos Grupos do Google.
Para cancelar a inscrição neste tópico, acesse https://groups.google.com/d/topic/phprs/KyJ9a86OHy8/unsubscribe.
Para cancelar a inscrição neste grupo e todos os seus tópicos, envie um e-mail para phprs+un...@googlegroups.com.

Daniel Archer

unread,
Feb 14, 2014, 11:07:19 AM2/14/14
to ph...@googlegroups.com
Tem várias opções ao meu ver.
---------------------------------------
data = 0;
se data diferente da anterior, 
mostra data atual, e data anterior recebe atual
echo linha
senão
echo linha
--------------------------------------------
segunda opção é bem mais custosa (mas dependendo o servidor e qtd de registros, não é tanto)

foreach ($linhas as $linha)
  $array_datas[$linha->data][] = $linha;

foreach ($array_datas as $data => $array_linhas)
  echo $data
  foreach($array_linhas)
    echo $linha

-----------------------------------------------
terceira, mas gera muitas consultas ao banco
$sql "select datas from X group by data"
foreach ($resultado_datas)
  $sql "select * from X where data = $data"
  foreach ($resultado_x as $linha)
    echo $linha
----------------------------------------------

Desculpe pelas opções "gambiarristicas" mas nunca me deparei com soluções muito otimizadas pra isso

WebEder Eder

unread,
Feb 14, 2014, 1:17:25 PM2/14/14
to ph...@googlegroups.com
Obrigado pela Luz. vou dar uma olhada valeuuuuuuuu
Reply all
Reply to author
Forward
0 new messages