Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ronanlumb

pegar a ultima mensagem de cada contato

Recommended Posts

Dalhe povo, ja quebrei a cabeça aqui e nada de funcionar..

 

tenho o seguinte,

uma tabela de mensagens chamada CHAT com os seguintes campos

-Id

-Mensagem

-from

-to

-data

 

Uma tabela de cadastros com os campos de cadastro como, nome, avatar, senhas e alblalba

 

Preciso gerar uma lista onde aparece o nome do contato e a ultima mensagem enviada por ele, ordenando por data..

 

Exemplo: JOAO me envia as seguintes mensagens. | BOM DIA / BOA NOITE |

MARIA me envia as seguinte mensagens. | TUDO BEM / ME LIGA |

 

Na pagina devera mostrar

 

MARIA enviou uma mensagem: ME LIGA

 

JOAO enviou uma mensagem: BOA NOITE

 

Algo como a pagina de mensagens do facebook

http://www.facebook.com/messages/

 

Utilizando o grop by chat.from eu consigo algo parecido, mas pega a primeira mensagem do contato e não a ultima ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

+OU- ISTO

 

SELECT *
FROM CHAT C1
WHERE C1.DATA = (SELECT MAX(C2.DATA)
                FROM CHAT C2
                WHERE C2.ID = C1.ID)

Compartilhar este post


Link para o post
Compartilhar em outros sites

$query="SELECT *

FROM CHAT C1

WHERE C1.sent = (SELECT MAX(C2.sent)

FROM CHAT C2

WHERE C2.TO = C1.TO) and C1.TO='".$dadosdau['id']."'";

 

Ele retorna a ultima mensagem enviada para mim, mas só a ultima e não a ultima de todos os meus contatos.

 

Estou pensando em fazer da maneira "PORCA"

 

Selecionar todas as mensagens enviadas para mim em forma decrescente.

 

então vou filtrar linha a linha, pego quem enviou a mensagem se ja tiver sido "inserido" em um vetor eu pulo, se não ficar eu mostro.

Compartilhar este post


Link para o post
Compartilhar em outros sites
and C1.TO='".$dadosdau['id'].

faz com que só retorne o passado no paramêtro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.