Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie erstellt man Thread-Kommentare mit 1 oder 2 Abfragen?

Wenn Sie nur 2 Ebenen benötigen, hier ist eine Möglichkeit mit einer Abfrage:

Ihr Tisch - id, parent_id, comment Spalten

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

In $threads Sie haben alle Ihre Hauptthreads und $threads[$id]['replies'] enthält alle Antworten. Die Threads sind sortiert - neueste =erste, füge ein wenig Paging hinzu und schon kann es losgehen.