Автор Тема: Каталог товаров. Нужна помощь  (Прочитано 2588 раз)

0 Пользователей и 1 Гость просматривают эту тему.

  • Гость
Пытаюсь разобраться.
Каталог товаров:
Уровень 1
Уровень 1.1
Уровень 1.1.1
код
...
(какие-то характеристики)
...
цена
кол-во (inputbox)
Уровень 1.1.2
Уровень 1.1.3
.....
Уровень 1.2
Уровень 1.3
...

Уровень 2
Уровень 3
....


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

Я пытаюсь сделать базу максимально "нормализованной"

Тоесть моя база(я использую Access) содержит такие таблицы:

Series
SeriesID-код первого уровня
SeriesName-название серии
SubSeries2Info-Информация о серии (первого уровня)
...

SubSeries
SubSeriesID-код подуровня
SeriesID-связь с таблицей "Series"
SubSeries2Info-Информация о подсерии (второго уровня)
...

SubSeries2
SubSeries2ID-код подуровня2
SubSeriesID-связь с таблицей "SubSeries"
SubSeries2Info-Информация о подсерии (третьего уровня)
...

Products
ProductID-код товара
SubSeries2ID-связь с таблицей "SubSeries2"
ProductInfo-Информация о товаре (общее описание данного товара)
...

Product
ID-Уникальный код конкретного товара
ProductID-связь с таблицей "Products"
Color-цвет
Price-цена
IDInfo-Информация о товаре (Описание конкретной позиции каталога)

Client
ClientID-код клиента
...-информация о клиенте

Order
OrderID-код заказа
OrderDate-дата оформления
...

Архив заказов
OrderID-связь с таблицей "Order"
ClientID-связь с таблицей "Client"
ID-связь с таблицей "Product"
Quantity-Заказанное колличество

Такая вот у меня получилась база.

И единственное, что приходит мне на ум, так это перетаскивание кодов от кровня к подуровню через Link = "" & rs.Fields("SeriesName").value & "" И считыванию этих переменных на открываемой странице.
Код для серии выглядит так:

...

<%
Dim SeriesName
Dim rs
DIM SeriesQuantity
DIM SeriesID

Sub MoveSeriesID (rs)
SeriesID=rs.Fields ("SeriesID").value
If SeriesID <> 0 Then
Link = "" & rs.Fields("SeriesName").value & ""
End If
Response.Write Link & "
"
SeriesInfo = rs.Fields("SeriesInfo").value
If SeriesInfo <> "NA" Then
Response.Write "" & SeriesInfo & ""
End If
End Sub

Sub PrintSeries
Set db = Server.CreateObject("ADODB.Connection")
db.Open "IS"
sSQL = "SELECT * FROM Series"
Set rs = db.Execute(sSQL)
SeriesQuantity = 0
Do While NOT Rs.EOF
%>



<%Call MoveSeriesID (rs)%>



<%
Rs.MoveNext
SeriesQuantity = SeriesQuantity + 1
Loop \' Конец цикла
db.Close
Set db = Nothing
End Sub
%>
...

Мне кажется, что я решаю эту задачу как-то не правильно. как говорится через извесное место...
подскажите как делать правильно, а то мой способ больше напоминает извращение, чем сто-то стоящее.
Было бы здорово, если Вы решите прислать Ваш вариант на eilede@nm.ru или захотите со мной пообщаться по ICQ40934385.
Признаюсь чесно, я новичек и только пытаюсь разобраться, а помощь нужна очень и, притом, срочно (так как это часть это дипломного задания, темой которого является создание Интернет-магазина).
Так что очень надеюсь, что найдется добрая душа, которая мне поможет.
Потому что из всего что нужно сделать у меня готов только блок регистрации и аутентификации и на данный момент бьюсь над каталогом то бишь формой заказа.



С уважением,
Eilede

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28