1

私はdbにテーブルを持っていますfields

-----------------------
Id | Value | Path | Parent
-----------------------

1  | Asia  | 1    | 0 
2  | India | 1/2  | 1
3  | Goa   | 1/2/3| 2

リストには、世界のすべての都市が含まれています。そのため、非常に大きなリストです。

問題

私の製品には、リーフ用に選択されたすべての親がある場合。[例: ID:3 の ID 3、2、1] ParentIDAJAX 関数を使用してツリーを生成できます。

しかし

私は木の葉を与えてくれる製品を選びます。[例: ID:3] したがって、解析してツリーを生成する必要がありますが、Pathこれはあまりにも悪いアイデアに聞こえます [文字列の解析は遅くなります。]

このことに対する一般的な解決策はありますか?- ビューを作成して、対応する親 rf リーフを保存できますか? - PEAR ツリーを使用していますか?

またはDB直接関与する他のより良い解決策。

編集

ツリー構造:

Asia
 >India
   >Goa

編集

構文解析による再帰関数PATHは、このジョブには適していません。それは遅くなります。

4

1 に答える 1

0

PEAR のTree パッケージは、この特定のタスクのために作成されています。独自のコードを発明する代わりに、この実績のあるパッケージを試してください。

于 2012-05-21T13:02:24.580 に答える