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]   

> Без описания
Area
Отправлено: 07 Мая, 2013 - 11:20:46
Post Id


Частый гость


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


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




Работа с категориями.
Задача перенести категории из гл в гл2.

A .Известна id (sub id, id на категорию выше. Той категории которую необходимо перенести).
B .И известна id категории, в которую необходимо перенести.

Первое что делаем. Собираем все id, категорий которые расположены выше и составляем массив.

Что имеем.
A. Массив и B массив.
Далее находим отличия A от B. При помощи array_diff.

Нашли, теперь есть только 1 массив. В котором id. Далее я через цикл обновляю записи, ориентируясь по id. В итоге я обновляю следующие категории.

Обновляю все категории(которые расположены выше). Той младшей категории, в которую переносим категории. И обновляю все старшие категории, от куда мы эти категории переносим.


Вернемся на зад. Есть готовый 1-н массив. Где собраны id старой и новой.
Напомню что есть два массив A и B. Добавляем к списку 3 готовый и теперь...
Необходимо из 3-й массив разбить вновь на 2. То есть найти совпадение массива A и третего массива. Создать массив из содержания третего, только совпавших. И еще сравнить B и третего массива. Аналогично создать уже второй массив с совпавшими содержанием из B.

Все Закатив глазки . Нужен пример кода, а не советом которую необходимо использовать , функцию.
 
 Top
DeepVarvar Супермодератор
Отправлено: 07 Мая, 2013 - 11:34:09
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




Если надо только перенести потомков, то делаем ОДИН ЗАПРОС В БД:
CODE (SQL):
скопировать код в буфер обмена
  1. UPDATE tbl SET parent_id = $newParentID WHERE parent_id = $oldParentID

И все. К чему выкабенивания на массивах?
Или БД вообще нет?
Тогда все то же самое в одном цикле.
 
 Top
Area
Отправлено: 07 Мая, 2013 - 11:35:50
Post Id


Частый гость


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


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




Не то... Я немного другие данные изменяю..
 
 Top
DeepVarvar Супермодератор
Отправлено: 07 Мая, 2013 - 11:37:31
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




Опиши конкретнее, ощущение будто "тащишь зуб автогеном через задний проход".
 
 Top
Area
Отправлено: 07 Мая, 2013 - 15:04:52
Post Id


Частый гость


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


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




Я собираю и обновляю ключевые слова. Собираю их по названиям категорий. Далее веду подсчет категорий и новостей. При редактир, удалении либо добавлением и перемещение категории с вложенными в нее суб категориями.

(Отредактировано автором: 07 Мая, 2013 - 15:05:23)

 
 Top
imya
Отправлено: 07 Мая, 2013 - 15:05:01
Post Id



Участник


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Сент. 2012  
Откуда: Запорожье, Украина


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




DeepVarvar пишет:
Опиши конкретнее, ощущение будто "тащишь зуб автогеном через задний проход".


Интересное сравнение Радость


-----
PHP:
скопировать код в буфер обмена
  1. do {box != cat;} while (cat != box);


Когда нормальный человек, уезжая из дома одевает на жену пояс верности, веб-дизайнер ставит на нее счетчик...
 
My status
 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