Bu bağlamda dayalı MySQL sonuçları sıralama

1 Cevap php

PHP ve MySQL kullanarak iç içe bir yorum sistemi oluşturmak için çalışıyorum. Ama ben şaşırıp

  • Benim Veritabanı yapısı id, beden, zaman, cevap ve derinliğidir.
  • Düzenli bir açıklamanın reply alan '0 'olacaktır. Başka yanıtlarken eğer o id bunu yanıtlarken oluyor yorumun karşılık gelecektir.
  • depth en yüksek ebeveynden nasıl derin anlamı

Yani bu benim tablonun içeriği ise ...

+------+-------------+--------+---------+---------+
|  id  |  body       |  time  |  reply  |  depth  |
+------+-------------+--------+---------+---------+
|   1  |  Some msg1  |   1    |    0    |    0    |
|   2  |  Some msg2  |   2    |    0    |    0    |
|   3  |  aReply1    |   3    |    1    |    1    |
|   4  |  aReply2    |   4    |    1    |    1    |
|   5  |  aReply21   |   5    |    3    |    2    |
+------+-------------+--------+---------+---------+

Bu gibi bir şey olarak görünür ...

- (1) Some msg1
-- (3) aReply1
--- (5) aReply21
-- (4) aReply2
- (2) Some msg2

Ben bu tür benim mantık ötesinde, bu yöntemi kullanarak mümkün umuyoruz.

1 Cevap

Eğer masa yapısını değiştiremezsiniz Eğer sadece o PHP kullanarak ağacını oluşturmak (tablo sipariş zaman seçin *) tüm satırları alabilirsiniz.

Ağaç depolama için ben iç içe Setleri algoritmasını kullanmanızı öneririz.