|
|
|
Помогите с представлением
|
|||
|---|---|---|---|
|
#18+
Форумчане, делаю бд под заказ товаров. Бд спроектировал, мне нужно чтобы у пользователя была возможность сформировать список заказанных товаров, вида: Заказанные детали, количество. --- Рубашка 10 Собственно бд построена таким образом, есть таблицы заказы(id,автор,комментарий), состав заявки(id_заказа, товар, количество) ну и другие таблицы, так вот, думаю, как мне сделать чтобы пользователь смог сформировать список заказываемых товаров.\ Я так понимаю, что до нажатия создать заявку, когда пользователь будет выбирать что заказать, будет падать в таблицу состав заявки. но номер заявки то еще сформирован не будет, к которой привязана таблица состав заявки. Номер заявки формируется автоматом автоинкрементом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2013, 18:51 |
|
||
|
Помогите с представлением
|
|||
|---|---|---|---|
|
#18+
Если нумерация готовых заявок должна быть без "дырок" - то проще всего разнести атрибуты "Номер заявки - первичный ключ" и "Номер заявки, видимый пользователю". Соответственно, заявку вместе с первичным ключом создавать сразу в момент предварительного отбора (со специальным статусом "в работе"), когда статус сменится на "готово" - формировать "пользовательский" номер. Если же дырки никого не волнуют - еще лучше, можно пользоваться одним атрибутом "Номер заявки - первичный ключ" (по прежнему егенря его в момент предварительного отбора товаров) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2013, 19:12 |
|
||
|
Помогите с представлением
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинЕсли нумерация готовых заявок должна быть без "дырок" - то проще всего разнести атрибуты "Номер заявки - первичный ключ" и "Номер заявки, видимый пользователю". Соответственно, заявку вместе с первичным ключом создавать сразу в момент предварительного отбора (со специальным статусом "в работе"), когда статус сменится на "готово" - формировать "пользовательский" номер. Если же дырки никого не волнуют - еще лучше, можно пользоваться одним атрибутом "Номер заявки - первичный ключ" (по прежнему егенря его в момент предварительного отбора товаров) Тобишь, когда пользователь жмет заказать такой то товар, выбирает его, то создается заявка со статусом "в работе", соответст. в табл состав заявки уже пишется idшник, и к нему добавляются товары. так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2013, 19:22 |
|
||
|
Помогите с представлением
|
|||
|---|---|---|---|
|
#18+
AlexRF, Ну да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2013, 19:25 |
|
||
|
Помогите с представлением
|
|||
|---|---|---|---|
|
#18+
AlexRFТобишь, когда пользователь жмет заказать такой то товар, выбирает его, то создается заявка со статусом "в работе", соответст. в табл состав заявки уже пишется idшник, и к нему добавляются товары. так?Ещё вариант - сделать отдельную структуру для "корзины". Тут нужна такая же структура, как и для заказа, только без самой таблицы заказов (в простом случае это будет таблица "Товары в корзине" с ссылкой на пользователя). Когда пользователь прошёл всю цепочку процесса заказа, начинается формирование заказа - создаётся запись заказа и товары переносятся в соответствующую таблицу. Такой подход удобен тем, что товары в корзине сохраняются от сессии к сессии, корзина существует постоянно, не нужно после перерыва читать все заказы пользователя со статусом "в работе", вообще не нужно ничем заморачиваться. Это в том случае, если вообще есть понятие "пользователь". Если такого понятия нет (например, анонимные заказы с сайта), то можно использовать подход Кот Матроскин ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2013, 19:33 |
|
||
|
Помогите с представлением
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинAlexRF, Ну да. М, тогда возникает такой вопрос. Как вывести этот список заказанных. Я думал через вьюху сделать запрос на имя детали, и количество именно из этой таблицы состав заявки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2013, 20:01 |
|
||
|
Помогите с представлением
|
|||
|---|---|---|---|
|
#18+
alexeyvg, есть пользователь, но у пользователя может быть много заявок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2013, 20:02 |
|
||
|
Помогите с представлением
|
|||
|---|---|---|---|
|
#18+
alexeyvgТакой подход удобен тем, что товары в корзине сохраняются от сессии к сессии, корзина существует постоянно, не нужно после перерыва читать все заказы пользователя со статусом "в работе", вообще не нужно ничем заморачиваться. Эээ, а что мешает при моем подходе сохранять товары в корзине от сессии к сессии? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2013, 20:47 |
|
||
|
Помогите с представлением
|
|||
|---|---|---|---|
|
#18+
AlexRFМ, тогда возникает такой вопрос. Как вывести этот список заказанных. В смысле "как"? элементы заявки со статусом "в работе". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2013, 20:48 |
|
||
|
Помогите с представлением
|
|||
|---|---|---|---|
|
#18+
AlexRFalexeyvg, есть пользователь, но у пользователя может быть много заявокВ смысле, много корзин, в которые до окончательного оформления заказа он накладывает товары? Тогда правильный вариант Кот Матроскин, он более гибкий, позволяет работать со сложной бизнес-логикой (которая нужна, допустим, для оптовиков, закупок и т.п.) Кот МатроскинalexeyvgТакой подход удобен тем, что товары в корзине сохраняются от сессии к сессии, корзина существует постоянно, не нужно после перерыва читать все заказы пользователя со статусом "в работе", вообще не нужно ничем заморачиваться. Эээ, а что мешает при моем подходе сохранять товары в корзине от сессии к сессии?Я же писал, что ничего не мешает. Просто придётся реализовывать специальные алгоритмы - допустим, заказ со статусом в работе может быть только один, если нет ни одного, то нужно создать. Это чуть сложнее и чуть выше вероятность ошибок, по сравнению со способом отдельной "корзины". То есть корзина хороша для простого интернет-магазина, предзаказы - для торгово-закупочной деятельности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2013, 21:31 |
|
||
|
Помогите с представлением
|
|||
|---|---|---|---|
|
#18+
А зачем знать номер еще незаписанного в БД заказа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2013, 21:43 |
|
||
|
Помогите с представлением
|
|||
|---|---|---|---|
|
#18+
т.к. таблица состав_заказа привязана к id-шнику самой заявки, а пока его нет, то как вывести то, что в конкретном заказе ты заказал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2013, 10:16 |
|
||
|
Помогите с представлением
|
|||
|---|---|---|---|
|
#18+
alexeyvgAlexRFalexeyvg, есть пользователь, но у пользователя может быть много заявокВ смысле, много корзин, в которые до окончательного оформления заказа он накладывает товары? Тогда правильный вариант Кот Матроскин, он более гибкий, позволяет работать со сложной бизнес-логикой (которая нужна, допустим, для оптовиков, закупок и т.п.) Кот Матроскинпропущено... Эээ, а что мешает при моем подходе сохранять товары в корзине от сессии к сессии?Я же писал, что ничего не мешает. Просто придётся реализовывать специальные алгоритмы - допустим, заказ со статусом в работе может быть только один, если нет ни одного, то нужно создать. Это чуть сложнее и чуть выше вероятность ошибок, по сравнению со способом отдельной "корзины". То есть корзина хороша для простого интернет-магазина, предзаказы - для торгово-закупочной деятельности. Нет, в моем случает заявка безусловно привязывается к пользователю, но когда мне нужна будет информация по конкретной заявке, что он в нее добавил.Уже собственно и нужен idшник заявки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2013, 10:28 |
|
||
|
Помогите с представлением
|
|||
|---|---|---|---|
|
#18+
AlexRFт.к. таблица состав_заказа привязана к id-шнику самой заявки, а пока его нет, то как вывести то, что в конкретном заказе ты заказал. ID-шник мог быб быть внутренним суррогатным ключом, с номером заказа не связанным, соответственно требования последовательности и бездырочности на него не распространяется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2013, 10:48 |
|
||
|
Помогите с представлением
|
|||
|---|---|---|---|
|
#18+
NafAlexRFт.к. таблица состав_заказа привязана к id-шнику самой заявки, а пока его нет, то как вывести то, что в конкретном заказе ты заказал. ID-шник мог быб быть внутренним суррогатным ключом, с номером заказа не связанным, соответственно требования последовательности и бездырочности на него не распространяется Что то не понял, если добавить в состав_заяки еще idшник с автоинкрементом, ты об этом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2013, 11:07 |
|
||
|
Помогите с представлением
|
|||
|---|---|---|---|
|
#18+
AlexRFNafпропущено... ID-шник мог быб быть внутренним суррогатным ключом, с номером заказа не связанным, соответственно требования последовательности и бездырочности на него не распространяется Что то не понял, если добавить в состав_заяки еще idшник с автоинкрементом, ты об этом? а почему нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2013, 12:28 |
|
||
|
Помогите с представлением
|
|||
|---|---|---|---|
|
#18+
Ну так он у меня есть там, ток смысла в нем нет.. смотри, таблица состав заявки(id_автоинкр, id_заявки, id_товара заказанного, количество) Тоесть, если в заявке 325 закажут рубашку и блузку то записи в БД будут вида 1, 325 , 5, 10 2, 325 , 3, 5 То как ты вытащищь, что конкретно в 325 заявке было ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2013, 14:18 |
|
||
|
Помогите с представлением
|
|||
|---|---|---|---|
|
#18+
AlexRFНу так он у меня есть там, ток смысла в нем нет.. смотри, таблица состав заявки(id_автоинкр, id_заявки, id_товара заказанного, количество) Тоесть, если в заявке 325 закажут рубашку и блузку то записи в БД будут вида 1, 325 , 5, 10 2, 325 , 3, 5 То как ты вытащищь, что конкретно в 325 заявке было Лехко. Прочитайте базовые сведение о реляционных таблицах, запросах. Все вытаскивается запросами. Всегда, когда нужны подробные данные, удобные для восприятия человеком, к основной таблице данных, содержащей коды, подключаются все необходимые справочники (звезда), справочники справочников и так далее (снежинка). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2013, 09:23 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38188692&tid=1541334]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
22ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 348ms |

| 0 / 0 |
