Ну скажемнапример?
1. Алгоритм Вы поняли неправильно. Что мешает писать id_order в базу после окончательного оформления заказа?Правильно ли я понимаю, алгоритм, т.е есть таблица product(id_product), есть таблица order (id_order), есть таблица связка product-order(id_pr-or), Quantity по каждому продукту
1) Заходит user, нажимает зделать заказ, фомируем таблицу order (id_order), data и т.д
2) видит список продуктов, проставляет к-во, нажимает отправить, ключи (id_order) и (id_product) сохраняются в product-order(id_pr-or)
а если он передумает на шаге 1)??? не станет продолжать, как вычистить таблицу order (id_order) - заказа же не будет
Panda:
Это не принципиально.
Во-первых, можно вставлять запись в таблицу order только после того, как есть хотя бы одна позиция для таблицы product-order.
По идее, оформление заказа происходит когда пользователь выбрал хоть что-нибудь, если он ещё ничего не выбрал, то и оформлять нечего (запись в таблицу order не нужна), но с другой стороны, если такую запись сделать, тоже ничего страшного.
А по поводу "как почистить" - это нужно определиться, что делать с заказами в дальнейшем, например статусы им обновлять (в обработке, доставляется, подтверждается и т.д.) ну и в конце концов этот заказ должен получить окончательный статус. А это, скорее всего, решает оператор, кто-то ведь будет управлять этим хозяйством? Этот оператор увидит в списке "пустой" заказ, или заказ, дата создания которого более чем какой-то интервал времени в статусе таком-то...
"Пустые" заказы - ничего страшного. Вот, например, пользователь набрал себе в "корзину" несколько позиций, а потом все их поудалял, останется как раз тот самый "пустой" заказ, в таком случае можно удалить и саму запись заказа, вместе с самой последней позицией, а можно и не удалять, оставив эту запись.
почему нелогично?
какая проблема после нажатия кнопки в форме сделать пару запросов к БД?
спасибо я конечно читаю информацию и в нете и в книжицах, но хочется еще обсуждатьpanda
я так понимаю, вы замахнулись на задачу весьма нетривиальную, а опыта у вас совсем нет в такого рода делах...
мне снова бросилось в глаза упоминание о "прайс-листе" из которого я понял, что у вас нет чёткого представления о том, как это будет выглядеть на практике, насколько я понимаю, "прайс-лист" это опять же - не одна таблица. Вот к примеру, у вас на один и тот же товар меняется цена, вы же не собираетесь удалять старую цену и вставлять на её место новую? Где потом брать старую? И вообще, это весьма и весьма обширная область (архитектура базы данных) проектированием сложных систем занимаются отдельно, поэтапно, в интернете много информации на эту тему, вы бы для начала максимально подробно изучили бы эту область. Реализация на PHP + MYSQL это, поверьте, уже менее сложный вопрос, в отличии от проектирования самой базы данных.
ой это я не слышала ни разу , -----невижу ничего страшного, если информацию о продукте и о пользователе продублировать в заказ.
резон? правильно сказанно продукт может измениться, просто вчера продавали по 10 сегодня по 11, у клиента поменялся адрес и тд
при этом в заказе ничего НИВКОЕМ СЛУЧАЕ не должно измениться
можно можно сериализировать, но про статистику, удобный пойск заказов по регионам, по ценам, по ... забудте...
а если уже сериализировать может стоит подумать о документ базираванных данных тип монго?
оно вроде и джейсон и вроде строка!
о документ базираванных данных тип монго?
оно вроде и джейсон и вроде строка!
а какой вариант именно так и собираюсь просто редактировать, нет другого варианта! Видите как иначе подскажите.Вот к примеру, у вас на один и тот же товар меняется цена, вы же не собираетесь удалять старую цену и вставлять на её место новую? Где потом брать старую?
имелов в виду статистику не по изменениям цен, а статистику по продажам..иметь возможность потом получить статистику по отдельным продуктам это конечно классно,
нет тут никакой специфики, это нормально, когда меняются цены (да хоть каждый час, да хоть ежеминутно),у меня такая специфика, продукт аукционный, поэтому цены меняются каждый день на него. и кроме того сам продукт, т.е его наличие не всегда доступно например в июле есть в августе нет, и также появляются раз в месяц новые продукты.
из этого, конечно следует, что реляционная база данных, названная так именно благодаря связям между таблицами, нас уже не интересует, точнее, её можно использовать, но чтобы это было не сложнее чем в Excel'e табличку руками отредактировать, а если сложнее, то надо тогда как-то "упростить" как-то "сериализовать", а то три таблицы это неудобно (wtf?)(земетим не случайно зашедшие люди, а регулярно испльзующие этот прайс)