![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| webplanet |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 8.12.2011 Репутация: нет Всего: нет |
Здравствуйте!
Есть две таблицы Menus, Photos. К пункту меню можно привязать фотографии. (2nf). Создание пункта меню и фотографий к нему должно происходить на одной странице. Т.е Форма меню... заполняются все данные и тут же можно создать фотографии которые буду привязаны к данному пункту меню. Я хочу это делать аяксом, тоесть будет кнопка на форме- "Добавить фото"-нажимаю появляется форма (модальная) - name, img, alt, desc... заполняю форму нажимаю отправить, на сервере фото сохраняется в базу и возвращает мне подготовленный темплейт с данными этой записи. Проблема в том что сам пункт меню еще не существует.... уже после сохранения данного пункта меню все фото которые я создал для него должны связаться с ним...... Если пункт меню уже создан то проблемы нет(id(меню) известен и фото можно привязать на этапе сохранения(фото)) но на этапе создания... я не знаю как это правильно делается(id пункта меню не известен так как форма не сохранена)... Надеюсь проблема понятна. Это сообщение отредактировал(а) webplanet - 8.12.2011, 17:08 |
|||
|
||||
| ayax2005 |
|
|||
|
echo $smile ![]() ![]() Профиль Группа: Участник Сообщений: 516 Регистрация: 17.4.2008 Где: Питер Репутация: нет Всего: 11 |
Сохраняйте фоты во временной папке и связывайте по id сессии
-------------------- все вопросы - из-за неверной формулировки задачи |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 14 Всего: 386 |
Для простоты логики, можно завести пункт меню, невидимый и не отображаемый, к которому и привязывать свежезагруженные фотографии. Редактировать прямо этот пункт меню. После окончания редактирования - либо поменять ему статус на отображаемый, либо скопировать его в новый, правильный. Главное - не позволить редактировать меню одновременно с разных мест. Иначе придется как-то выкручиваться. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| voral |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 16.3.2008 Где: Иваново Репутация: нет Всего: нет |
Столбите id. (Например вставляете пустую запись, если у вас автоинкремент)
Потом эту запись обновляете, и записываете сведения о файлах. |
|||
|
||||
| webplanet |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 8.12.2011 Репутация: нет Всего: нет |
Наверно не "костылевого" решения тут нет.
А как такая схема: 1) Загрузили фото, отправили на сервер 2)Тут если меню для фото не создан то фото сохраняется но к нему записывается id сессии(добавим поле session_id в таблицу photos), сервак выбирает все фото по ид сессии, возвращает темплейт 3)После сохранения пункта меню с базы считываем все фотки с нужным session_id и связываем их с нашим пунктом меню(при этом поле session_id ставим в null чтоб при создании еще одного пункта меню не подхватывать ненужные фото) Также обнуление поля session_id всех фото делать во время загрузки формы на добавление.... |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 14 Всего: 386 |
webplanet, а зачем вообще в базу что-то писать до оформления меню? Все хранить в сессии. Вот только случайно загруженные картинки неплохо бы почистить, как-нибудь потом...
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| webplanet |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 8.12.2011 Репутация: нет Всего: нет |
ksnk, Там обработка фотографий... обрезка, кроп..... в сессиях придется хранить много инфы.... координаты, размеры каждой фотографии, а фотографий много может быть. Наверно таки в базу буду сохранять. Главное не засорять базу ненужными, случайными данными
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |