- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Вобщем есть база категорий.
Надо перезаписать их заново, изменив пару значений (при этом не просто перезапиать а создать новые, так, что бы подкатегория уже была указана не старая, а новая).
Пример:
Есть РАЗДЕЛ "1112" его главный раздел "1102".
Берем из базы и перезаписывая Узнаем новый ID его родительской категории и перезаписываем. Например если создаваемая новая записать стала 2000, а предварительно созданная главная категория стара 1950, то заменить "1102" на "1950".
Таблички 2. Первая со значениями, вторая с главной и parent_id записью. (это немного упрощает )
$new_category_parent_id_new=array();
$new_category_parent_id=array();
# будем вбивать новый АЙДИ для создаваемой категории... ПОтом заменять старые parent_id но новые из массива.
$sql = "SELECT c.*, cv.* FROM catalog AS c
LEFT JOIN catalog_value AS cv ON c.cat_id = cv.cat_val_id
WHERE cat_pid!='0'
AND cat_type='cat_page' AND cat_rubrika='1'
LIMIT 20";
$res = mysql_query($sql);
$i=0;
while($row=mysql_fetch_assoc($res)){
#$cat_val_positnum и другие берем из $row['...']
$result = mysql_query("INSERT INTO catalog_value (cat_val_positnum,cat_val_name,cat_val_title) VALUES ('".mysql_real_esc($cat_val_positnum)."','".mysql_real_esc($cat_val_name)."','".mysql_real_esc($cat_val_title)."' )");
if ($result){
$cat_id=mysql_insert_id();
$new_category_parent_id[]=$row['cat_id'];
$new_category_parent_id_new=$cat_id;
# КАК ДЕЛАТЬ ДАЛЬШЕ?
$cat_pid = str_replace($new_category_parent_id, $new_category_parent_id_new, $row['cat_pid']);
# перезаписать ID старых РУТ КАТЕГОРИЙ на новые из массива, (в 2 массивах по идее должно храниться - НОВЫЕ АЙДИ И СТАРЫЕ АКДИ, которые перезаписать
А также, если например айди будет 20, а потом парент айди будет 20120 то оно заменит 20-тки на не нужное число. (КАТАЛОГ БОЛЬШОЙ)
$result2 = mysql_query("INSERT INTO catalog (cat_id,cat_rubrika,cat_lang,cat_pid)
VALUES ('".mysql_real_esc($cat_id)."','".mysql_real_esc($cat_rubrika)."','".mysql_real_esc($cat_lang)."','".mysql_real_esc($cat_pid)."')");
Prosto_niki добавил 21.09.2010 в 15:29
Немного добавил
$new_category_parent_id[$row['cat_id']]='/'.$row['cat_id'].'/';
$new_category_parent_id_new[$row['cat_id']]='/'.$cat_id.'/';
echo '<b>'.$i.'</b> <br>';
echo ' cat_val_id:'.$row['cat_val_id'].' cat_val_name:'.$row['cat_val_name'].' - new name: '.$cat_val_name.' cat_val_title:'.$row['cat_val_title'].' -
cat_id:'.$row['cat_id'].' - cat_pid:'.$row['cat_pid'].'<br>';
echo 'Новый айди созданной записи: '.$cat_id;
$cat_pid = str_replace($new_category_parent_id, $new_category_parent_id_new, '/'.$row['cat_pid'].'/');
$cat_pid=str_replace('/','', $cat_pid);
echo '<br> Старый pid: '.$row['cat_pid'].' | Новый pid: '.$cat_pid;
echo '<br>';
Prosto_niki добавил 21.09.2010 в 17:01
Все сработало. Последнее правильно написано.