- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте!
Есть 2 базы данных.
Обе базы данных имеют одинаковые таблицы и поля.
Задача перенести из таблицы 2 в таблицу 1 значения поля custom_fields_8
Но в таблицах есть еще и поле title. Так вот в базе 2 значения поля title отличаются от значений в таблице 1 (их меньше). ТО есть нужна еще проверка на идентичные значения поля title.
Сам алгоритм мне понятен, но как правильно это выглядит в виде кода - не могу без помощи сделать.
Алгоритм такой:
Соединяемся с базой 1 и 2.
Запускаем цикл по ID из базы 2.
переменная $title = значение поля title
переменная $custom_fields_8 = значение поля custom_fields_8
в базе 1:
Еще один цикл по ID но в другой базе
если значение поля title = переменная $title
то записать в поле custom_fields_8 переменную $custom_fields_8
конец цикла базы 1
конец цикла базы 2
Прошу помощи, как это все записать в виде скрипта.
Спасибо.
Мне неизвестен ваш интрефейс доступа к БД, поэтому буду писать запросы
Получаем данные для вставки во вторую таблицу. Нам нужны только те строки из table, для которых есть соответствие в table2 у которых title совпадает
SELECT custom_fields_8, title FROM table 1 WHERE title IN (SELECT title FROM table where title != '')
Получили массив с данными и делаем апдейт в цикле:
Например на php:
foreach($items as $item)
{
$sql = 'UPDATE table2 SET custom_fields_8 = " '.$item['custom_fields_8'].'" WHERE title = "'.$item['title'].'"';
// выполняем запрос
}
Вообще всё можно сделать одним запросом к БД, но я не знаю как)
Мне неизвестен ваш интрефейс доступа к БД, поэтому буду писать запросы
Получаем данные для вставки во вторую таблицу. Нам нужны только те строки из table, для которых есть соответствие в table2 у которых title совпадает
SELECT custom_fields_8, title FROM table 1 WHERE title IN (SELECT title FROM table where title != '')
Получили массив с данными и делаем апдейт в цикле:
Например на php:
foreach($items as $item)
{
$sql = 'UPDATE table2 SET custom_fields_8 = " '.$item['custom_fields_8'].'" WHERE title = "'.$item['title'].'"';
// выполняем запрос
}
Вообще всё можно сделать одним запросом к БД, но я не знаю как)
Интерфейс?
Я пытаюсь сделать все в файле с расширением php.
Пока удалось только подключиться к одной базе
Как сюда добавить ваш код?
---------- Добавлено 22.09.2015 в 14:14 ----------
В общем, остановился на пол пути. Массив с данными получаю, а вторая часть не работает.
Даже просто не выводится через echo, соответственно, ничего и не записывается.