[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Синхронизация БД клиентов магазина
tegs
Привет всем.
Стоит такая задача: есть интернет-магазин с большой БД товаров, нужно что бы все оптовые клиенты магазина не заполняли вручную себе БД товарами а автоматом перекидывалось к ним от нас.
Вариант 1:
1.Создать форму с полями что бы клиент ввел свои доступы к БД и название своих полей.
2.Выбираем все наши поля и записываем их в переменные.
3.Потом с помощью INSERT вставляем значения из нашей БД в соответствующие поля что ввел клиент.
Но тут проблема: как сделать так что бы значения в таблице клиента не дублировались, например если у него уже есть артикул товара 01253? Ведь при повторной записи, у клиента на сайте сам товар продублируется.

Вариант 2:
1.Создать форму с полями что бы клиент ввел свои доступы к БД и название своих полей.
2.С помощью PHPExcel будет выгружатся бекап таблицы с названиями его полей.
3.Он этот дамп просто экспортирует к себе в БД.
Но тут также проблема: ведь название таблицы должно соответствовать уже существующией у него таблице, тоесть ему по сути нужно удалить уже существующую таблицу и экспортировать нашу выгруженую с таким же названием? А если в его таблице кроме наших товаров есть еще, они ведь тоже удатяся.

Дайте свои идеи, господа, пожалуйста.
T1grOK
Цитата (tegs @ 27.06.2014 - 07:45)
Но тут проблема: как сделать так что бы значения в таблице клиента не дублировались, например если у него уже есть артикул товара 01253?

primary vs unique key на артикул и ON DUBLICATE KEY IGNORE в запросах.


_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
bestxp
Цитата (T1grOK @ 27.06.2014 - 12:28)
Цитата (tegs @ 27.06.2014 - 07:45)
Но тут проблема: как сделать так что бы значения в таблице клиента не дублировались, например если у него уже есть артикул товара 01253?

primary vs unique key на артикул и ON DUBLICATE KEY IGNORE в запросах.

Тогда уже update так как инфа может измениться цена или что-то еще
tegs
Цитата (T1grOK @ 27.06.2014 - 12:28)
Цитата (tegs @ 27.06.2014 - 07:45)
Но тут проблема: как сделать так что бы значения в таблице клиента не дублировались, например если у него уже есть артикул товара 01253?

primary vs unique key на артикул и ON DUBLICATE KEY IGNORE в запросах.


Спасибо! smile.gif
Тоесть на артикул первичный ключ и если попадается уже существующий ключ то оно его или обновляет или игнорирует?

А что скажете по поводу 2 варианта - выгрузка всей таблицы в Эксель файл а затем что бы клиенты ее к себе импортировал. Возможно провести этот импорт так что бы у клиента сохранились уже существующие позиции товара и не пришлось удалять текущую таблицу товаров что бы переименовать и использовать нашу?
Дело в том что не все клиенты захотят дать доступ к БД и поэтому нужен альтернативный вариант на выбор.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.