Пытаюсь разобраться.
Каталог товаров:
Уровень 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