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.