Форумы

Серверы Counter-Strike :: Форумы :: Программирование :: PHP
 
Вывод результатов поиска
Модераторы: kapitowka, A1exseder, McNamara, HuKuToC, Jake_One, Meranpocynep6om, Chaos2Order, FizZ
Автор Добавил
Agnet*
13.06.2012, 17:05
Lineage Admin

633521

Lineage Admin


ID пользователя #363
Зарегистрирован: 25.02.2008, 11:37

Сообщений: 151
Отблагодарен: 12 раза в 10 сообщениях
Репутация: 1
Репутация темы: 0 из 0 голосов

Возникла такая задачка, есть сайт на Joomla 2.5.4 + вм 2.0.6
имеется к примеру 100-200 аптек, в каждой прайс на 2000 препаратов приблизительно, каждая аптека привязывается к району, и к метро,
получаеться что при поиске "именно препарата из прайса" должно фильтроватся по метро и району и выводить список аптек в которых есть искомый запрос)

например при поиске Аспирина что б видеть:

Аптека Доброго Дня
- Аспирин табл 0.5
- Аспирин табл 1
- Аспирин (еще какой-то)
Аптека Низких Цен +
Аптека 36.6 +
Аптека Добрый Доктор +

вот так как на этом сайте - вообще шикарно http://medbrowse.com.ua/





Странно ...
Наверх
kapitowka
13.06.2012, 20:06
FreeBSD The Power To Serve

статус Skype
STEAM_0:0:34602107

[RAT]


ID пользователя #1
Зарегистрирован: 01.01.1970, 03:00

Сообщений: 3361
Отблагодарен: 255 раза в 192 сообщениях
Репутация: 64

Я что-то вопроса не увидел. Тебе в теории рассказать как сделать или сделать за тебя)))?




-------------------------------------------------------
Правила сервера

Банлист
Наверх
Сайт
Agnet*
14.06.2012, 09:29
Lineage Admin

633521

Lineage Admin


ID пользователя #363
Зарегистрирован: 25.02.2008, 11:37

Сообщений: 151
Отблагодарен: 12 раза в 10 сообщениях
Репутация: 1

хотябы в теории)






Странно ...
Наверх
kapitowka
15.06.2012, 05:35
FreeBSD The Power To Serve

статус Skype
STEAM_0:0:34602107

[RAT]


ID пользователя #1
Зарегистрирован: 01.01.1970, 03:00

Сообщений: 3361
Отблагодарен: 255 раза в 192 сообщениях
Репутация: 64

Что-бы не париться я бы разбил на 2 запроса
Сначала выбираем список аптек в которых он есть, а потом циклом проходимся и выводим результат по каждой аптеке

  1. Select spr_apteki.id, spr_apteki.name from sklad
  2.  
  3. inner join spr_lekarstva on sklad.preparat_id=spr_lekarstva.id
  4. inner join spr_apteki on sklad.apteka_id=spr_apteki
  5.  
  6. where spr_lekarstva.name like <Название>and spr_apteki.metro = <Название или айди>and spr_apteki.rayon = <Название или айди>group by spr_apteki.name


-------------------
Потом в цикле прогоняем данный список с таким запросом

  1. Select spr_lekarstva.id, spr_lekarstva.name from sklad
  2.  
  3. inner join spr_lekarstva on sklad.preparat_id=spr_lekarstva.id
  4. inner join spr_apteki on sklad.apteka_id=spr_apteki
  5.  
  6. where sklad.apteka_id=<айди аптеки полученый из предыдущего запроса>and spr_lekarstva.name like <Название>


----------------------
spr_lekarstva - справочник лекарств
spr_apteki - справочник аптек
sklad - привязка в какой аптеке какие препараты в наличии
- preparat_id,apteka_id,preparat_count,preparat_price






[ Редактирование 15.06.2012, 05:38 ]


-------------------------------------------------------
Правила сервера

Банлист
Наверх
Сайт
Сообщение отблагодарили: 1 раз(а)
Agnet*
15.06.2012, 10:26
Lineage Admin

633521

Lineage Admin


ID пользователя #363
Зарегистрирован: 25.02.2008, 11:37

Сообщений: 151
Отблагодарен: 12 раза в 10 сообщениях
Репутация: 1

интерестно) сейчас попробую реализовать, если что напишу в скайп)






Странно ...
Наверх
 

Перейти:     Наверх

Транслировать сообщения этой темы: rss 0.92 Транслировать сообщения этой темы: rss 2.0 Транслировать сообщения этой темы: RDF
Powered by e107 Forum System