sql >> Databasteknik >  >> RDS >> Mysql

Hur bygger man trådade kommentarer med 1 eller 2 frågor?

Om du bara behöver 2 nivåer, här är ett sätt med en fråga:

Ditt bord - id, parent_id, comment kolumner

Kod

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

I $threads du kommer att ha alla dina huvudtrådar och $threads[$id]['replies'] håller alla svar. Trådarna är sorterade - senaste =först, lägg till lite personsökning så är du klar.



  1. 3 sätt att lista alla lagrade procedurer i en SQL Server-databas

  2. Hur man lagrar en fil i en mysql-databas med blob

  3. hur man infogar värden med kommatecken?i switch-satsen

  4. MySQL förklarar frågeförståelse