2017-01-12 27 views
0

ここにいくつかの助けのために願っています。私はそうmysqlまたはphpの親の子孫をすべて取得しますか?

ID | Content | Parent ID | 
2 | A  | 0 
3 | A  | 2 
4 | A  | 3 
5 | A  | 4 
6 | A  | 10 
7 | A  | 0 
8 | A  | 7 
9 | A  | 8 
10 | A  | 9 

のようなMySQLのテーブルを持っていると私はID 2.

3のすべての子孫に望んでいた子供であると言います。孫は親のID 3を持つ投稿になります。

この場合、ID 2の子孫はID's 3, 4 and 5です。

そしてID 7の子孫がID's 8, 9, 10 and 6

ある私は祖先の深さの制限なしでMySQLでこれを照会することができとにかくありますか?あるいは、PHPの結果セットを反復することさえできますか?

ありがとうございます。

フォーラム(親)
----最初のフォーラム----
forum_id = 1:

+2

http://mikehillyer.com/articles/管理階層型データ・イン・mysql/ – Barmar

答えて

-3

あなたは https://en.wikipedia.org/wiki/Database_normalization

は、私はこのようなあなたの質問を理解し、データベース正規化する必要があります
forum_name = php

t HREAD(子)

----最初のレコード----
なthread_id = 20
forum_id = 1
----次のレコード----
なthread_id = 21
forum_id = 1つの

ポスト(孫)は、使用後、

はアップへのアクセスに参加しますダウン 正規化されたデータベース と例えばあなたがスレッドテーブル内にある場合、あなたはすべて1つのクエリであなたの特定のスレッドにポストよう aswellにそれが属するフォーラムにアクセスすることができます

+0

OPの既存の構造は標準でよくサポートされています。あなたの構造はあらゆるレベルのために新しいテーブルを必要とします。 – nogad

関連する問題