|
|
|
Forum Member
      
участник
Last Login: 06.12.2007 13:35
Сообщ.: 29,
Visits: 287
|
|
Пытаюсь разобраться. Каталог товаров: Уровень 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 = "<a href= SubSeries.asp?SeriesID=" & SeriesID & ">" & rs.Fields("SeriesName").value & "</a>" И считыванию этих переменных на открываемой странице. Код для серии выглядит так:
...
<% Dim SeriesName Dim rs DIM SeriesQuantity DIM SeriesID
Sub MoveSeriesID (rs) SeriesID=rs.Fields ("SeriesID").value If SeriesID <> 0 Then Link = "<a href= SubSeries.asp?SeriesID=" & SeriesID & ">" & rs.Fields("SeriesName").value & "</a>" End If Response.Write Link & "<br>" SeriesInfo = rs.Fields("SeriesInfo").value If SeriesInfo <> "NA" Then Response.Write "<i>" & SeriesInfo & "</i>" 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 %>
<tr> <td> <%Call MoveSeriesID (rs)%> </td> </tr>
<% Rs.MoveNext SeriesQuantity = SeriesQuantity + 1 Loop ' Конец цикла db.Close Set db = Nothing End Sub %> ...
Мне кажется, что я решаю эту задачу как-то не правильно. как говорится через извесное место... подскажите как делать правильно, а то мой способ больше напоминает извращение, чем сто-то стоящее. Было бы здорово, если Вы решите прислать Ваш вариант на eilede@nm.ru или захотите со мной пообщаться по ICQ40934385. Признаюсь чесно, я новичек и только пытаюсь разобраться, а помощь нужна очень и, притом, срочно (так как это часть это дипломного задания, темой которого является создание Интернет-магазина). Так что очень надеюсь, что найдется добрая душа, которая мне поможет. Потому что из всего что нужно сделать у меня готов только блок регистрации и аутентификации и на данный момент бьюсь над каталогом то бишь формой заказа.
С уважением, Eilede
|
|
|
|