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...
Obrigado!