2012-02-13 14 views
0

私はこのmlm(ピラミッド)プロジェクトで作業しています。すべてのビジュアルピラミッドシステムの表示などで完了しました。クライアントのすべての親レコードを更新する必要があります。あなたは私がidとのParentIDを持って見ることができるようにPHPを使ってmysqlの親レコードを更新するには

Database table and binary tree display

が、今私はIDの下に新しいユーザーを追加します。ここに私のデータベーステーブルとユーザーのバイナリツリーがあります。私はすべての両親の左/右と手数料を更新する必要があります。私はそれが非常に複雑であると思っています。私はちょうど1行を更新することはできません。私はすべての親の行を更新する必要があります、ループまたはw.eをしている可能性があります。もし誰かがこれをやったことがあるなら、どうすればこのことができますか?

+0

」:MySQLの中で階層データを管理する方法についていくつかの良い記事がありますユーザーを追加しますか? –

+0

@Aaron:マルチレベルマーケティングのバイナリ報酬プランの可能性が最も高いです。https://en.wikipedia.org/wiki/Binary_planを参照してください(-imho-は、次の点を主張しています:2つのフィールドには、 3回目は時間の経過と共に増加するかもしれません;-)) – VolkerK

+0

しかし、あなたは前もって最後の3つのフィールドを知ることができず、新しいエントリごとにツリー構造も変わります。したがって、これらの3つのフィールドを別のテーブルに移動する必要があります。 –

答えて

2

MySQLなどの従来のDBMSで階層データを管理する方法はいくつかあります。隣接リストモデル、パス列挙モデル、入れ子セットモデルなどがあります。私は朗読Joe Celko's Trees and hierarchies in SQL for smartiesを読んで欲しいです。あなたはときに `right`、` left`と `commission`列を更新している何

+0

役に立つかもしれない追加の参考資料:http://www.slideshare.net/quipo/trees-in-the-database-advanced-data-structures – dbrumann

+0

感謝の気持ちがわかっています。今私は確かにそれを読むでしょう。 – San

+0

@サン、あなたは手数料を更新するために何を使ったのですか?入れ子セットモデルを使用していますか? – ashTon

関連する問題