Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как удалить все подкатегории категории и все товары всех подкатегорий ?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
optsar
Отправлено: 28 Сентября, 2015 - 22:15:32
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Сент. 2015  


Помог: 0 раз(а)




Имею вот такой массив, и в подкатегориях могут быть товары,
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.     [8] => Array
  3.         (
  4.             [brand_id] => 8
  5.             [brand_name] => Samsung
  6.             [parent_id] => 0
  7.             [childs] => Array
  8.                 (
  9.                     [21] => Array
  10.                         (
  11.                             [brand_id] => 21
  12.                             [brand_name] => Моноблок
  13.                             [parent_id] => 8
  14.                             [childs] => Array
  15.                                 (
  16.                                     [7] => Array
  17.                                         (
  18.                                             [brand_id] => 7
  19.                                             [brand_name] => Моноблок
  20.                                             [parent_id] => 21
  21.                                             [childs] => Array
  22.                                                 (
  23.                                                     [5] => Array
  24.                                                         (
  25.                                                             [brand_id] => 5
  26.                                                             [brand_name] => Сенсоры
  27.                                                             [parent_id] => 7
  28.                                                         )
  29.  
  30.                                                 )
  31.  
  32.                                         )
  33.  
  34.                                 )
  35.  
  36.                         )
  37.  
  38.                 )
  39.  
  40.         )



вот что я смог сделать

CODE (htmlphp):
скопировать код в буфер обмена
  1. $brand_id = (int)$_GET['brand_id'];  // id удаляемой категории
  2.  
  3. mysql_query("DELETE FROM goods WHERE goods_brandid = $brand_id"); // Удаляем товары категории
  4.  
  5. mysql_query("DELETE FROM brands WHERE parent_id = $brand_id"); // Удаляем подкатегории
  6.  
  7. mysql_query("DELETE FROM brands WHERE brand_id = $brand_id"); // Удаляем категорию
  8.  



удаляются только категория [8] => Array и подкатегории этой категории [21] => Array и товары категории категории [8] => Array

глубже мозгов не хватает как сделать.
Подскажите пожалуйста
 
 Top
sarmat
Отправлено: 29 Сентября, 2015 - 19:08:01
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Авг. 2015  


Помог: 0 раз(а)




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

id - name - tupe(тип записи) - ref(к какой категории пренадлежит файл или папка)
а потом при удалении какой нибудь категории, проверяю наличие в ней папок и файлов если они есть удаляю их потом уже категорию. так сервер выполняет меньше вычислительных действий и кода меньше в разы и удаление крупных категорий с милионнами записей проходит без кряков. Особенно хорошо эта тема помогает когда к записям прилогаются по нескольку скринов и превьюшек кним плюс комы и кэш определенных частей страницы ну это мое решение проблемы, возможно можно сделать более эфективней Растерялся
 
 Top
optsar
Отправлено: 29 Сентября, 2015 - 20:14:16
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Сент. 2015  


Помог: 0 раз(а)




Да в базе, Из ответа ни чего я не понял, попробую по другому спросить
brand_id =3 а parent_id=4 из-за не правильного удаления

как мне найти все такие parent_id которые не принадлежат ни к какому brand_id

CODE (htmlphp):
скопировать код в буфер обмена
  1. brand_id        brand_name      parent_id
  2.     1              Alcatel                  0
  3.     2             Ericsson                  1
  4.     3                LG             4
 
 Top
lastdays
Отправлено: 29 Сентября, 2015 - 20:35:34
Post Id



Частый гость


Покинул форум
Сообщений всего: 221
Дата рег-ции: Март 2013  


Помог: 7 раз(а)




Делать подзапрос при удалении, не найден айди раздела товара - удалить товар.

п.с. я правильно понял, остались товары в несуществующих категориях ?

(Отредактировано автором: 29 Сентября, 2015 - 20:36:03)

 
 Top
optsar
Отправлено: 29 Сентября, 2015 - 20:38:01
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Сент. 2015  


Помог: 0 раз(а)




Да, спасибо всем за исчерпывающие ответы!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB