2009-11-04 4 views
0

Привет У меня есть продукты, которые состоят из нескольких вариантов. Каждый вариант имеет код SKU. Вы можете выбрать только один вариант из каждой группы SKU, а параметры должны быть объединены в порядке SKUGroup.Создание полных SKU в классическом ASP

Так, например, я бы список параметров в виде таблицы в БД, похожем

OptID PID  SKU Price SKUGroup 

156727 93941 C 171.00 1 
156728 93941 BN 171.00 1 
156729 93941 PN 171.00 1 
156718 93940 W 115.20 2 
156719 93940 CA 115.20 2 
156720 93940 BA 115.20 2 
156721 93940 BNA 115.20 2 
156722 93940 BN 115.20 2 
156723 93940 BS 115.20 2 
156716 93939 CHR 121.50 3 
156717 93939 NK 138.00 3 

И несколько готовой продукции SKUs будет выглядеть примерно так:

C-W-CHR 407.70 
C-W-NK 424.20 
C-CA-CHR 407.20 
C-CA-NK 424.20 

Я пытаясь создать скрипт, который создаст список всех возможных сочетаний SKU и цены на комбинированные опции.

Мне нужно это сделать в классическом ASP (vbscript), и я не знаком с этим. Поэтому я ищу всю помощь, которую я могу получить.

Спасибо!

ответ

1

Я бы начал с подключения к базе данных и создания трех наборов записей.

Set connection = CreateObject("ADODB.Connection") 
connection.Open ConnectionString 
Set rsOption1 = CreateObject("ADODB.recordset") 
Set rsOption2 = CreateObject("ADODB.recordset") 
Set rsOption3 = CreateObject("ADODB.recordset") 
rsOption1.Open "SELECT * FROM TableName WHERE SKUGroup = 1", connection, 3,3 
rsOption2.Open "SELECT * FROM TableName WHERE SKUGroup = 2", connection, 3,3 
rsOption3.Open "SELECT * FROM TableName WHERE SKUGroup = 3", connection, 3,3 

Затем вы можете использовать вложенные петли для получения комбинаций. Что-то вроде этого (Непроверено, это, вероятно, не будет работать, как есть, но это дает вам представление о том, как это сделать) (Кроме того, это предполагает, что вы должны выбрать, по крайней мере, один параметр из каждой группы)

for i = 0 to rsOption1.RecordCount 
    rsOption1.Move i, 1 
    for j = 0 to rsOption2.RecordCount 
     rsOption2.Move j, 1 
     for k = 0 to rsOption3.RecordCount 
      rsOption3.Move k, 1 
      'Write rsOption1.Fields(2).Value & "-" & rsOption2.Fields(2).Value & _ 
      '"-" & rsOption3.Fields(2).Value & "  " & _ 
      'FormatCurrency((rsOption1.Fields(3).Value + rsOption2.Fields(3).Value + rsOption3.Fields(3).Value)) 
     Next 
    Next 
Next 
Смежные вопросы