Olá, estou com dúvida em um problema... Criei um sistema de chat, e existe um balão que lista as conversações, porém estou com problema em ordenar por data, porque leio as conversas por array, existe um campo na db chamado AUTHORS_CONVERSATIONS, nele contém: "1,2,3,4", que são os ID, das conversações... Eu percorro a array, e leio no banco de dados todas as conversações, usando um LIMIT 1, para mostrar somente a ÚLTIMA mensagem enviada em cada conversação:
$PIECES_CONVERSATIONS = explode(",", $_SESSION['UserLogin']['AUTHORS_CONVERSATIONS']);foreach($PIECES_CONVERSATIONS as $CONVERSATION_ID):
SELECT * FROM
(SELECT
AUTHORS_MESSAGES.CONVERSATION_ID,
AUTHORS_MESSAGES.AUTHORS_RECEIVER_ID,
AUTHORS_MESSAGES.AUTHORS_SENDER_ID,
AUTHORS_MESSAGES.MESSAGE_CONTENT,
AUTHORS_MESSAGES.MESSAGE_DATE,
AUTHORS_MESSAGES.MESSAGE_STATUS
FROM AUTHORS_MESSAGES WHERE
CONVERSATION_ID ={$CONVERSATION_ID} ORDER BY MESSAGE_DATE DESC)
WHERE ROWNUM <=1
endforeach;
Funcionou, porém, o que acontece, é que o ORDER BY DESC, não vai funcionar, porque faço a pesquisa com o FOREACH, então não tem como ordernar por data, então fica tudo bagunçado, queria mostrar as conversações mais recentes em primeiro...
Pergunta
8master
Olá, estou com dúvida em um problema... Criei um sistema de chat, e existe um balão que lista as conversações, porém estou com problema em ordenar por data, porque leio as conversas por array, existe um campo na db chamado AUTHORS_CONVERSATIONS, nele contém: "1,2,3,4", que são os ID, das conversações... Eu percorro a array, e leio no banco de dados todas as conversações, usando um LIMIT 1, para mostrar somente a ÚLTIMA mensagem enviada em cada conversação:
Funcionou, porém, o que acontece, é que o ORDER BY DESC, não vai funcionar, porque faço a pesquisa com o FOREACH, então não tem como ordernar por data, então fica tudo bagunçado, queria mostrar as conversações mais recentes em primeiro...
Obrigado!
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
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.