Связь многие ко многим MySql

402
27 июля 2018, 07:10

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

Есть 3 таблицы

Таблица camps - рекламные кампании

Таблица geo_items - коды стран

Таблица связей camps_geo

Например я хочу добавить новую рекламную кампанию с такими данными:

array(
   'camp_name' => 'Тестовая рекламная кампания'
   'geo' => 'RU, UA, KZ'
)

Далее я хочу сделать выборку.

Скриптом я определил что у юзера гео "RU", как выбрать все кампании у которых в гео есть "RU"

Так же если у кампании кроме ГЕО есть еще критерии по браузерам. Я создам таблицу с браузерами, таблицу связей для нее.

Потом скриптом определяю ГЕО и браузер юзера, и мне нужно выбрать кампании у которыx есть совпадения по ГЕО и по браузеру.

А дальше там еще операционная система и т.д. ...

В общем покажите как делать такие выборки и как вставлять и обновлять данные для кампаний.

Answer 1

Для выборки по гео

SELECT camps.name FROM camps 
INNER JOIN camps_geo ON camps_geo.camp_id = camps.id
INNER JOIN geo_items ON camps_geo.geo_id = geo_items.id
WHERE geo_items.geocode = 'RU'

Ну а для создания компании с гео, если вы используете нативный php и mysql то делать придется по очереди: 1) добавляем компанию, берем ее id. 2)проверяем есть ли эти гео в geo_items, если есть вытягиваем их id если нет то заносим и вытягиваем id. 3) приводим все данные к правильному виду и инсертим в camps_geo

READ ALSO
Установка MySQL Server

Установка MySQL Server

При установке MySQL сервер появляется данное окно, но кнопки Next нету и дальше ничего не могу сделать, было у кого такое? Как решилось?

224
Как сделать пару кривых блоков CSS?

Как сделать пару кривых блоков CSS?

Появилась следующая проблема: требуется сделать такую конструкцию ( рисунок приложен ), а я не могу понять, как это можно сделатьПомогите,...

278
Почему DOMParser не парсит DOM-структуру? [закрыт]

Почему DOMParser не парсит DOM-структуру? [закрыт]

Почему у меня DOMParser не парсит следующую довольно простую DOM-структуру?

258
Не применяется внешний стиль CSS

Не применяется внешний стиль CSS

Не работает css на html страницеПомогите пожалуйста разобраться почему

226