Удаление всего содержимого каталога - Visavi.net https://visavi.net/ RSS - Visavi.net https://visavi.net/assets/img/images/logo_small.png RSS - Visavi.net https://visavi.net/ [email protected] (admin) [email protected] (admin) Mon, 20 May 2024 12:35:00 +0300 7, О, вот это уже интересно, спасибо) попробую https://visavi.net/topics/36576/618588 Удаление всего содержимого каталога юЮЮфюв Tue, 05 Feb 2013 09:49:48 +0400 Messages https://visavi.net/topics/36576/618588 Задача аналогичная выводу комментариев. Чтобы &quot;определить id всего того, что ниже Каталог 1&quot; среди каталогов нужно делать запросы вида <pre class="prettyprint">select id from catalog where subcat in (здесь список id, возвращенного предыдущим таким запросом, в начале состоит просто из единицы)</pre> Дальше, когда у нас есть список всех каталогов, все довольно очевидно https://visavi.net/topics/36576/618586 Удаление всего содержимого каталога Петр Tue, 05 Feb 2013 09:41:20 +0400 Messages https://visavi.net/topics/36576/618586 5, а если в этом каталоге еще 50 подкаталогов, в которых тоже есть подкаталоги со статьями? https://visavi.net/topics/36576/618576 Удаление всего содержимого каталога юЮЮфюв Tue, 05 Feb 2013 07:01:36 +0400 Messages https://visavi.net/topics/36576/618576 <pre class="prettyprint">DELETE `catalog`,`pages` FROM `catalog` LEFT JOIN `pages` ON `catalog`.`id`=`pages.`cat` WHERE `catalog`.`id`=&#91;color=#ff0000]1&#91;/color];</pre> Удалит из таблицы <strong>catalog</strong> строку с <strong>id=<span style="color:#ff0000">1</span></strong> и все строки в таблице <strong>pages</strong>, в которых ячейка <strong>cat=<span style="color:#ff0000">1</span></strong> https://visavi.net/topics/36576/618575 Удаление всего содержимого каталога Дмитрий Tue, 05 Feb 2013 06:57:18 +0400 Messages https://visavi.net/topics/36576/618575 разные бывают ситуации. бывает что нужно.<br> В твоем случае, если нет внешних ключей, нужно рекурсией вычислять. При условии, что есть ступенчатая связь(статья 1 в каталоге 1, каталог 1 в разделе 1), можно реализовать. Создаем выборку, в которой берем все записи каталога1, далее запросы(а их столько, сколько записей) в которых выбираем все статьи из следующего уровня и так пока не вернет NULL. Может не ясно что-то написал, просто устал немного) https://visavi.net/topics/36576/618574 Удаление всего содержимого каталога Кевин Митник Tue, 05 Feb 2013 06:41:19 +0400 Messages https://visavi.net/topics/36576/618574 Дело в том, что подразумевается бесконечная вложенность каталогов. А прибегать к таким строкам «1, 6, 7, 8...» в таблице не очень правильно https://visavi.net/topics/36576/618572 Удаление всего содержимого каталога юЮЮфюв Tue, 05 Feb 2013 06:18:30 +0400 Messages https://visavi.net/topics/36576/618572 Рекурсия или вторичные ключи. Или то и то вместе взятое. https://visavi.net/topics/36576/618571 Удаление всего содержимого каталога Кевин Митник Tue, 05 Feb 2013 06:09:40 +0400 Messages https://visavi.net/topics/36576/618571 Добрый день. <br> Помогите составить алгоритм удаления (если это вообще возможно).<br> Имеются 2 таблицы catalog и pages.<br> Структура таблицы catalog:<br> -id <strong>id каталога</strong><br> -name <strong>имя каталога</strong><br> -subcat <strong>id материнского каталога</strong><br> <br> Структура таблицы pages:<br> -id <strong>id страницы</strong><br> -name <strong>имя страницы</strong><br> -cat <strong>id каталога в котором расположена статья</strong><br> <br> Ну так вот. Предположим, что имеется такая структура:<br> -Каталог 1<br> --Каталог 2<br> ---Каталог 3<br> ----Статья 1<br> ----Статья 2<br> <br> Необходимо Удалить Каталог 1 и всё, что находится ниже. Как это реализовать? Желательно привести пример с использованием PDO как в роторе (если нет возможности, то на простом MySql).<br> <br> <em><span style="font-size:x-small">Добавлено через 03:31 сек.</span></em><br> Даже лучше просто объясните, как определить id всего того, что ниже Каталог 1 https://visavi.net/topics/36576/618570 Удаление всего содержимого каталога юЮЮфюв Tue, 05 Feb 2013 05:46:27 +0400 Messages https://visavi.net/topics/36576/618570