Возьмем стандартную схему. Есть какой-то объект, к которому можно подгружать дополнительные элементы, например, фотографии. Фотографии привязываются к ID объекта. Как реализовать добавление фотографий, когда мы добавляем новый объект... то есть, когда мы не знаем ID объекта? Была идея про какие-то кеш таблицы, в которых хранить "отпечатки пальцев" клиента, привязывать добавленные фотографии к этим отпечаткам, а после добавлении нового объекта смотреть в БД и по "отпечаткам" привязывать фотографии к добавленому объекту. p.s. Генерить ID при посещении страницы не предлагать. Считаю подход не верным.
ну как. вместо с передаваемыми данными создаваемого объекта передаются фотки. создаешь объект и туда фото. какие сложности-то? или опять у нас реализация чего-то гениального?
Sergey89, в PHP далеко не новичок, RTFMом тыкать не надо. Использование mysql_insert_id резонно, когда мы делаем действия последовательно, а в моем случае, фотографии могут быть загружены на сервер еще до того, как создался сам объект. Я конечно могу этим фотографиям пока не проставлять ID объекта, а сделать это уже после добавления объекта, используя тот-же самый mysql_insert_id... Но проблемы начнуться, когда сразу-же несколько пользователей начнут добавлять новые объекты с фотографиями. 440Hz, признаюсь, моя вина в том, что не описал до конца ситуацию. Поле с фотографиями не ОБЫЧНАЯ кнопка ОБЗОР. Фотографии подгружаются "группой" через флеш загрузчик. И получается так, что фотографии загружаются раньше создания самого объекта. p.s. Не привязывайтесь к слово "фотография", тут вопрос скорее в правильном подходе в загрузки доп. полей объекта, до его создания.
Не вижу связи. А почему бы не добавить объект, но с каким-нибудь флагом, который устанавливает его активность? В дальнейшем ID можно привязать к сессии.
Sergey89, Ну единственная реализация, которая приходит мне сейчас на ум это: При заходе на страницу создания объекта генерить уникальный идентификатор (не ID) и при добавлении фотографий - не привязывать их к объекту, а ставить фотографиям уникальный идентификатор и после создания объекта смотреть в базу на предмет соответствия идентификаторов и "выправлять" айдишники. Как думаете, есть-ли более "чистые" решения?
Попробуйте Можно с высокой степень вероятности говорить, что ID сессии уникален. К тому же вы получите контроль над "анонимными" объектами.
Что-то не пойму - а как Вы разрешаете подгружать какие-то файлы тем, кто Вам ещё не известен? То есть - до создания объекта, по Вашим словам. А если я, в качестве "доброжелателя" подгружу Вам пару тысяч картинок метров по 10 каждая, Вы мне "спасибо" скажете? Причём в режиме - "картинку послал и на этом сессия сдохла". А если всё-таки тот, кто подгружает эти картинки - известен, то можно просто к имени файла прибавлять id юзера, например.
резонно делать все действия последовательно... Так как управлять загрузкой изображений мы не можем, то нужно управлять созданием объекта. Что мешает создать его ДО начала загрузки фотографий?
1. поскоьлку загрузка каких-то свойств объекта происходит ДО создания такового, то надо как-то привязать эти свойства к другому объекту, а потом их перместить в созданный. я бы привязывался к ID сессии, т.к. она уникальна по отношению к клиенту. 2. создавать объект с признаком новый и на самом деле форма создания объекта будет формой редактирвоания и при первом посте ставить флаг (создан). тут нужен сборщик мусора, т.е. созданных объектов, но без флага "создан". 3. дабы не нарушать логику как приложения так и отображения разрешать подгрузку тоьлко после того как объект создан. т.е. создаем объект, а потом переходим в режим редактирвоания где уже есть все необходимые параметры.
Отвечу сразу-же всем... Вариант господина 440Hz схож с моими размышлениями, и по сути, других вариантов я не вижу. Я пришел сюда уже с этой формулировкой и хотел узнать более "чистый метод". Получается, что других идей нет Про привязку фотографий к Сессиям Вариант, к сожалению, не работающий... Т.к. совершенно просто может произойти такая ситуация, когда человек откроет сразу-же несколько страниц добавлений объекта и начнет грузить фотки в каждую из страниц - получится путаницца и фотки привяжуться к первому добавленному объекту. Актуально для людей на модемах. RomanBush, читайте тему заново. Посим, не найдя лучшой реализации - пошел делать задуманное.