Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment créer des commentaires thématiques avec une requête 1 ou 2 ?

Si vous n'avez besoin que de 2 niveaux, voici comment procéder en une seule requête :

Votre tableau - id, parent_id, comment colonnes

Code

$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'];
  }
}

Dans $threads vous aurez tous vos threads principaux et $threads[$id]['replies'] détient toutes les réponses. Les discussions sont triées - dernier =premier, ajoutez un peu de pagination et vous êtes prêt à partir.