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 :: 1 сайт на 3 домена

 PHP.SU

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


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

> Описание: чего только не придумаю заказчики...
Panoptik
Отправлено: 13 Декабря, 2011 - 10:25:45
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


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




приветы всем!

вобщем столкнулся с такой дикостью. Заказчик заказал сайт интернет-магазин. Шаблон совершенно одинаков только имеет разные цвета. в нем имеется 3 больших категории, которые являются что-то вроде независимыми частями сайта и теперь заказчик хочет разделить все 3 этих части на 3 разных домена со своим хостингом и БД. Проблем в принципе нет ни каких за исключением меню, в которое подставляются данные со всех 3-х категорий.
Вот собственно и стоит задача как объединить данные с 3 баз данных на разных доменах, чтобы высветить агрегированную информацию в блоке меню? Как все мы знаем аякс кросдоменно не работает. Вот прошу совета и помощи. Может у когото есть идеи как всё это правильно организовать?


-----
Just do it
 
 Top
snikers987
Отправлено: 13 Декабря, 2011 - 11:49:20
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


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




А что мешает хранить все меню полностью в каждой базе?


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
Panoptik
Отправлено: 13 Декабря, 2011 - 11:51:40
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


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




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

пока нашел выход такой: при выводе меню будем коннектиться в разные базы и извлекать из каждой базы часть нужной информации


-----
Just do it
 
 Top
Zuldek
Отправлено: 13 Декабря, 2011 - 12:00:31
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


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




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

Это криво и неправильно. Поэтому просто пишем простой сценарий и ставим на крон, который генерирует меню товаров, раз в n-часов собирая его со всех трех баз и записывая в свою.

(Отредактировано автором: 13 Декабря, 2011 - 12:03:57)

 
 Top
DlTA
Отправлено: 13 Декабря, 2011 - 12:01:40
Post Id



Постоянный участник


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


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




если есть доступ к остальным база из любого магазина, то можно
раз в какой то промежуток времени опрашивать остальные базы на предмет изменений
изменения вносить в каждую из баз, тем самым избаветесь от долгих запросов к удаленным базам, но целостность (с поправкой на время перезапроса) останется

(Отредактировано автором: 13 Декабря, 2011 - 12:02:16)

 
 Top
snikers987
Отправлено: 13 Декабря, 2011 - 12:02:04
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


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




Panoptik пишет:
проблема в том, что изменения в одной базе не отображаются в другой. делать репликации для столь мелких проектов как-то не логично.

пока нашел выход такой: при выводе меню будем коннектиться в разные базы и извлекать из каждой базы часть нужной информации


Хотел это предложить, но удаленные соединения не очень хорошо, ляжет один сайт, а тупить будут все. Можно сделать что при апдейте к примеру в админке, апдейдт затрагивает по очередно все три базы.

И внешнее подключение к бд вообще не есть гуд.

(Отредактировано автором: 13 Декабря, 2011 - 12:04:40)



-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
Panoptik
Отправлено: 13 Декабря, 2011 - 12:11:32
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


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




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


-----
Just do it
 
 Top
snikers987
Отправлено: 13 Декабря, 2011 - 12:23:51
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


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




Можно вообще изменения записывать в фаил (готовый sql запрос) и кроном забирать его содержимое и выполнять. Так вообще удастся избежать внешних коннектов к бд


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
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