Как установить идентификатор элемента, когда элемент еще не создан? - PullRequest
0 голосов
/ 28 мая 2010

Я постараюсь прояснить пример:

Представьте себе страницу администратора для добавления товара в базу данных (список товаров). Когда я открываю страницу ДОБАВИТЬ ПУНКТ, элемент еще не создан (пока я не нажму кнопку отправки), но допустим, я хочу добавить категории, в которых появится этот продукт (например, с AJAX). Когда я запускаю сценарий AJAX, мне нужно указать, какой идентификатор (мой продукт) поместить в эти категории ...

Как мне это сделать .?

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

Боюсь, что этот метод заполнит БД множеством пустых продуктов из-за того, что администраторы перезагрузили страницу, покинули страницу перед отправкой и т.д. ...

Как вы, ребята, делаете это ??

Ответы [ 3 ]

1 голос
/ 28 мая 2010

Когда вы добавляете категории через JS, не публикуйте обратно в php-скрипт, а добавляйте элементы формы в форму страницы. Вы можете добавить скрытые элементы ввода с именем category_id[]. Таким образом, в БД ничего не изменится, пока вы фактически не отправите форму элемента. Затем в контроллере предметов в php все, что вам нужно сделать, это после добавления предмета добавить категории ...

1 голос
/ 28 мая 2010

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

0 голосов
/ 28 мая 2010

Я бы согласился с ircmaxell. Вы не должны отправлять сообщения в базу данных, пока все элементы формы не будут заполнены. Вы можете использовать ajax или что-либо еще, чтобы изменить, какие элементы формы будут отображаться, но это хорошая идея, чтобы все ваши базы данных вставлялись одновременно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...