Si solo necesita 2 niveles, aquí hay una forma con una consulta:
Tu mesa - id, parent_id, comment
columnas
Código
$rows = mysql_query('
select *
FROM
comments
ORDER BY
id DESC');
$threads = array();
foreach($rows as $row) {
if($row['parent_id'] === '0') {
$threads[$row['id']] = array(
'comment' => $row['comment'],
'replies' => array()
);
} else {
$threads[$row['parent_id']]['replies'][] = $row['comment'];
}
}
En $threads
tendrás todos tus hilos principales y $threads[$id]['replies']
contiene todas las respuestas. Los hilos están ordenados:último =primero, agrega algo de paginación y listo.