Меню PHP - Как рекурсивно удалить родителя и ребенка - PullRequest
0 голосов
/ 16 декабря 2010

Я работаю над системой меню, управляемой данными, в PHP / MySQL. Я не могу понять, как удалить пункты меню, не оставив некоторые из них сиротами.

Все пункты меню верхнего уровня имеют нулевое (0) значение родительского идентификатора, указывающее, что они являются верхним уровнем. В моем сеточном представлении отображаются все меню, элементы верхнего уровня и подменю, и он позволяет множественный выбор для удаления.

Проблема в том, что, если один из элементов, выбранных в сетке для удаления, является элементом меню верхнего уровня, все подменю под ним станут бесхозными.

Какую общую логику мне нужно реализовать?

1 Ответ

1 голос
/ 16 декабря 2010

Просто удаляйте дочерние элементы при удалении некоторых элементов.Если у вас есть только 2 уровня глубины, это не должно быть проблемой.Если у вас есть уровни X, вам придется рекурсивно удалять каждый дочерний элемент для каждого удаляемого элемента.

...