Рекурсивное удаление из базы данныхhttp://softtime.ru/forumРекурсивное удаление из базы данныхhttp://softtime.ru/forum/read.php?id_forum=3&id_theme=56816#post330000Ооо! Спасибо вам всем за помощь и активное обсуждение темы))Рекурсивное удаление из базы данныхSun, 17 Aug 2008 00:23:12 +0300ИльдарРекурсивное удаление из базы данныхhttp://softtime.ru/forum/read.php?id_forum=3&id_theme=56816#post329993"BinLaden предложил вариант где всеравно выполняется достаточно много запросов. "Я уже признал что он лучше моего, но кошмар всеже остался...Рекурсивное удаление из базы данныхSat, 16 Aug 2008 23:50:36 +0300TrianonРекурсивное удаление из базы данныхhttp://softtime.ru/forum/read.php?id_forum=3&id_theme=56816#post329988Trianon тут самый опытный программист. Поэтому, IMHO, лучше сначала подумать, а потом уже пытаться с ним спорить :))Рекурсивное удаление из базы данныхSat, 16 Aug 2008 23:21:32 +0300BinLadenРекурсивное удаление из базы данныхhttp://softtime.ru/forum/read.php?id_forum=3&id_theme=56816#post329978Вот теперь - нормально. Минимум селектов, один delete .Рекурсивное удаление из базы данныхSat, 16 Aug 2008 23:02:31 +0300TrianonРекурсивное удаление из базы данныхhttp://softtime.ru/forum/read.php?id_forum=3&id_theme=56816#post329965BinLaden предложил вариант где всеравно выполняется достаточно много запросов. Я уже признал что он лучше моего, но кошмар всеже остался...Рекурсивное удаление из базы данныхSat, 16 Aug 2008 22:42:14 +0300elrevinРекурсивное удаление из базы данныхhttp://softtime.ru/forum/read.php?id_forum=3&id_theme=56816#post329961Может быть тогда так? "?php $id_arr = array(1); $trash = array(); while( !empty($id_arr) ) { $trash = array_merge($trash, $id_arr); $result...Рекурсивное удаление из базы данныхSat, 16 Aug 2008 22:25:59 +0300BinLadenРекурсивное удаление из базы данныхhttp://softtime.ru/forum/read.php?id_forum=3&id_theme=56816#post329960:) Нет удаления несуществующих узлов. BinLaden, предложил более лучший вариант.Рекурсивное удаление из базы данныхSat, 16 Aug 2008 22:18:00 +0300elrevinРекурсивное удаление из базы данныхhttp://softtime.ru/forum/read.php?id_forum=3&id_theme=56816#post329958"Если используемая СУБД-MySQL (и многие другие, которые не поддерживают рекурсивные запросы), то этого кошмара в данном случае не избежать. Ничего,...Рекурсивное удаление из базы данныхSat, 16 Aug 2008 22:15:20 +0300TrianonРекурсивное удаление из базы данныхhttp://softtime.ru/forum/read.php?id_forum=3&id_theme=56816#post329957"можно сократить количество запросов DELETE: " mysql_query("delete from your_table where parent=$id"); Как было по запросу на узел - так и...Рекурсивное удаление из базы данныхSat, 16 Aug 2008 22:11:33 +0300TrianonРекурсивное удаление из базы данныхhttp://softtime.ru/forum/read.php?id_forum=3&id_theme=56816#post329956Направление выбрано верно. Но селектов всё еще слишком много....Рекурсивное удаление из базы данныхSat, 16 Aug 2008 22:08:49 +0300TrianonРекурсивное удаление из базы данныхhttp://softtime.ru/forum/read.php?id_forum=3&id_theme=56816#post329950можно сократить количество запросов DELETE: function DeleteFromBase($id) { $QR=mysql_query("select * from your_table where parent=$id"); if (mysql_num_rows($QR)"0) { while ($Row=mysql_fetch_array($QR))...Рекурсивное удаление из базы данныхSat, 16 Aug 2008 21:57:49 +0300elrevinРекурсивное удаление из базы данныхhttp://softtime.ru/forum/read.php?id_forum=3&id_theme=56816#post329949Может быть как-то так? "?php $id_arr = array(1); // id раздела для удаления while( list($key, $id) = each($id_arr) ) {...Рекурсивное удаление из базы данныхSat, 16 Aug 2008 21:56:00 +0300BinLadenРекурсивное удаление из базы данныхhttp://softtime.ru/forum/read.php?id_forum=3&id_theme=56816#post329948Если используемая СУБД-MySQL (и многие другие, которые не поддерживают рекурсивные запросы), то этого кошмара в данном случае не избежать.Рекурсивное удаление из базы данныхSat, 16 Aug 2008 21:54:39 +0300elrevinРекурсивное удаление из базы данныхhttp://softtime.ru/forum/read.php?id_forum=3&id_theme=56816#post329946хотя вариант elrevin мне нравитсяРекурсивное удаление из базы данныхSat, 16 Aug 2008 21:51:20 +0300ИльдарРекурсивное удаление из базы данныхhttp://softtime.ru/forum/read.php?id_forum=3&id_theme=56816#post329933может как то с помощью join?Рекурсивное удаление из базы данныхSat, 16 Aug 2008 21:22:41 +0300ИльдарРекурсивное удаление из базы данныхhttp://softtime.ru/forum/read.php?id_forum=3&id_theme=56816#post329929Ну вот, кошмара чем-то подобного этому, я и ожидал. :) Число SELECT * FROM и число DELETE FROM равно числу...Рекурсивное удаление из базы данныхSat, 16 Aug 2008 21:17:04 +0300TrianonРекурсивное удаление из базы данныхhttp://softtime.ru/forum/read.php?id_forum=3&id_theme=56816#post329926примерно так: function DeleteFromBase($id) { $QR=mysql_query("select * from your_table where parent=$id"); while ($Row=mysql_fetch_array($QR)) { DeleteFromBase($Row); } mysql_query("delete from your_table...Рекурсивное удаление из базы данныхSat, 16 Aug 2008 21:06:58 +0300elrevinРекурсивное удаление из базы данныхhttp://softtime.ru/forum/read.php?id_forum=3&id_theme=56816#post329920Но здесь ведь у меня есть разделы и в ширину и в глубину!Рекурсивное удаление из базы данныхSat, 16 Aug 2008 20:04:12 +0300ИльдарРекурсивное удаление из базы данныхhttp://softtime.ru/forum/read.php?id_forum=3&id_theme=56816#post329914И тем не менее. Чисто из теории: рекурсия требуется при обходе дерева в глубину. При обходе в ширину рекурсия не...Рекурсивное удаление из базы данныхSat, 16 Aug 2008 20:03:02 +0300TrianonРекурсивное удаление из базы данныхhttp://softtime.ru/forum/read.php?id_forum=3&id_theme=56816#post329913А как можно удалить? Т.е. здесь же нужно удалить все разделы что пренадлежат разделу "раздел"Рекурсивное удаление из базы данныхSat, 16 Aug 2008 19:57:15 +0300Ильдар