Salve a tutti,

devo stampare i messaggi e le risposte di una sorta di forum che ho costruito.
I messaggi originali (diciamo gli argomenti) sono contenuti in una prima tabella messaggi.
Le risposte a quell'argomento sono legate attraverso il suo ID e vengono immagazzinate nella tabella risposte.

con questo codice riesco a stampare messaggi e risposte, ma il messaggio originale viene replicato ad ogni risposta:
Codice PHP:
<link href="../gedd.css" rel="stylesheet" type="text/css">
<?php
    $q_messaggi
=mysql_query("
    SELECT *, date_format(data, 'alle %H:%i del %d/%m/%Y') as dataf, date_format(data_r, 'alle %H:%i del %d/%m/%Y') as dataf_r  
    FROM (messaggi LEFT JOIN risposte ON messaggi.ID_mex=risposte.ID_mex_r) 
    ORDER BY data DESC"
)or die(mysql_error());
    while(
$messaggio=mysql_fetch_array($q_messaggi)){
    echo 
"
    <tr>
        <td class='mex_head'>:: [b]
$messaggio[oggetto][/b]</a></td>
    </tr>
    <tr>
        <td class='mex_text'>
$messaggio[messaggio]</td>
    </tr>
    <tr>
        <td class='mex_sub'>postato 
$messaggio[dataf] da $messaggio[membro] - [url='risp.php?ogg=$messaggio[ID_mex]']Rispondi[/url] | [url='mail.php']Nuovo Messaggio[/url]</td>
    </tr>
    <tr>
        <td class='ris_text'>
$messaggio[messaggio_r]</td>
    </tr>
    <tr>
        <td class='ris_sub'>postato 
$messaggio[dataf_r] da $messaggio[membro_r]</td>
    </tr>"
;
    };
?>
Io vorrei che il messaggio originale facesse da intestazione e venisse stampato una sola volta, e sotto di esso venissero stampate tutte le risposte in ordine cronologico.

Cosa devo fare? A quanto pare devo usare 2 cicli ma se il primo è while il secondo come deve essere? posso annidiare un ciclo while ancora per ripescare le risposte a quel messaggio?
Grazie.