La cosa migliore e' sempre separare il codice dalla presentazione dei dati.
Codice PHP:
<?php
$query = "SELECT * FROM commenti LEFT JOIN news ON commenti.id_news = news.id";
$esegui = mysql_query($query, $db);
$risultati = array()
while ($result = mysql_fetch_array($esegui)) {
$risultati[$result['id']]['titolo'] = $result['titolo'];
$risultati[$result['id']]['testo'] = $result['testo'];
$risultati[$result['id']]['commenti'][] = $result['commento'];
}
?>
<ul>
<?php foreach ( $risultati as $articolo ): ?>
[*]
<h1><?php echo $articolo['titolo']; ?></h1>
<?php echo $articolo['testo']; ?></p>
<ul>
<?php foreach ( $articolo['commenti'] as $commento ): ?>
[*]<?php echo $commento; ?>
<?php endforeach; ?>
[/list]
<?php endforeach; ?>[/list]
in questo modo prima ti crei un array che contiene tutte le informazioni, e poi le stampi.
Disclaimer: codice scritto al volo e non testato