2010-12-15 11 views
0

私はPHP/MySQLのデータ駆動型メニューシステムを開発中です。私は孤立したものを残すことなくメニュー項目を削除する方法を理解できません。PHPメニュー - 再帰的に親子を削除する方法

すべてのトップレベルメニュー項目には、トップレベルであることを示すゼロ(0)の親ID値があります。私のgridviewは、すべてのメニュー、トップレベルとサブメニュー項目を表示し、削除のための複数の選択を可能にします。

削除するグリッドビューで選択された項目の1つが最上位メニュー項目である場合、その下のすべてのサブメニューが孤立してしまうという問題があります。

実装する必要がある一般的なロジックは何ですか?

答えて

1

一部のアイテムを削除すると、子アイテムを削除するだけです。深さが2段階しかない場合は、あまり問題にならないはずです。 Xレベルを持つことができれば、削除する要素ごとにすべての子要素を再帰的に削除する必要があります。

+0

マイメニューでは無制限のレベルが可能です。そのため、子アイテムを持つ複数の親メニュー項目が存在する可能性があります。 –

+0

xレベルの簡単な例を教えてください。 –

関連する問題