Помогите выдумать вумную структуру

dnes

Новичок
Помогите выдумать вумную структуру

Может быть, кто-нибудь сталкивался с чем то подобным...

Есть задача: загрузить в базу данные о рекламных кампаниях с биллбордами с несколькими возможными слоганами. Слоганы должны определять каждый отдельный биллборд кампании. Их, т.е. слоганов, может быть и один, а может быть и сто (если конечно это может быть важно).

Первым шагом создаю в таблице kampanii. кампанию со всеми ее причиндалами и одновременно заношу соответствующие ей слоган/ы во таблицу kampanii_slogany. Пока все OK.

Следующим шагом хочу выбрать для данной кампании отдельные биллборды и одновременно присвоить каждому из них какой-либо из уже имеющихся слоганов. Для этого, соответственно имеется третья таблица billbordy_slogany. Выбираю из уже имеющейся kampanii_slogany слоганы кампании... OK. А дальше - проблема. Ясно, что foreachем надо, но никак не допру как. Речь ведь идет одновременной передаче двух переменных, обе массивные и к тому же одна из них в скрытом поле.

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

Буду рад любым соображениям. Конструктивная ругань приветствуется!

-~{}~ 31.03.04 15:36:

Ну вот, и не ругаются даже!
 

ecto

Новичок
что такое биллборд?

типа топика from forum?

-~{}~ 31.03.04 15:59:

все понял...

билбод нужно всязать с определенным слоганом
и в каком виде хранятся борды? имя файла?
 

dnes

Новичок
Originally posted by ecto
что такое биллборд?

типа топика from forum?
Ну, биллборд в смысле физический рекламный щит. То есть, в принципе это и неважно. Расписал, чтобы задача выгледела нагляднее.
 

ecto

Новичок
тоесть -
есть таблица адресов биллбордов
есть таблца слоганов
и тебе нужно вывести что у такойто фирмы билборды потакимто адресам и
возле каждого адреса написать какой слоган на этом биллборде
так?
 

dnes

Новичок
В общем - да. Только я сейчас понял, что напутал в вопросе. Нужно уложить данные до третьей таблицы, которая вовсе не billbordy_slogany, a kampanii_billbordy. А хранится в ней соответственно будет id_kampania, id_billbord и id_slogan, с тем чтобы потом можно было по каждой кампании выписать, какие в ней борды и с каким каждый из них слоганом..
 

ecto

Новичок
ножно так -
таблица компаний с id
таблица слоганов с id и id компании
таблица биллбордов с id и id компании и id слогана

если я правильно понял твою задачу то вытаскивается все это одним запросом
и такой структуры
 

dnes

Новичок
Все ясно. Вот как раз с такой структурой я и не пойму, как завести все три id одновременно (MySQL). Было бы два, нет проблемы. Вытщу id кампании - OK, вытащу id борда - OK, вытащу id слогана - тоже OK, а как все это затащу для конкретной кампании в таблицу kampanii_billbordy. FOREACHем могу это сделать только с одной переменной (или id борда или id слогана) или я совсем затупился?
 

ecto

Новичок
если у тебя задача залить базу
тогда покажи в каком виде у тебя данные

или задача создать веб интерфейс
для добавления слоганов, биллбордов
 

dnes

Новичок
Именно интерфейс и есть задача.

Первая форма создает кампанию и ее слоганы (т.е. например два-три отличных от себя плаката, которые будут на борды наклеивать ). Второй формой для созданной кампании нужно завести например десять конкретных бордов из например двух сот имеющихся вообще, и определить для каждого из них слоган из например трех уложенных в таблицу первой формой. Все это короче, что-то баннерной системы с тем различием, что в данном случае на один борд больше одного плаката, т.е. слогана не разместишь.

Я бы показал, но пока что бьюсь над этим локально.
 

ecto

Новичок
можно создать динамическую форму
вписываешь имя и в выпадашке выбираешь слоган
2 кнопки
- сохранить (отправляет на сервер)
- биллборд (динамически добавляет строку-форму для еще одного биллборда)
(конечно можно и без динамики обойтись)

данные в форме запихивай в 2 массива
- имена
- id слоганов

а в рнр
$c=count($mass1);// любой массив - они ведь одинаковые по длине
for($i=0;$i<$c;$i++)
{
insert .... $mass1[$i],$mass2[$i]
}
 
Сверху