Just nu i M3-nätverket
Gå till innehåll

Loopar i loopar


Leon Radley

Rekommendera Poster

Jag håller på med att utvecka ett shoppingcart system och det är uppbyggt runt spcs som exporteras till access, problemet är att databasen är uppbyggd på det sättet att du har produkter med samma produktID efter varandra tex

 

|1010|149|0|

|1010|140|10|

|1010|125|40|

 

där första kolumnen är prodID sen priset och sen antalet.. så jag har försökt att göra ett skript som kollar vad andvändaren har skrivit i mängdtextfältet sen loopar den igenom ett recortset för att kolla om textfält antalet överstiger mängden i databasen för då ska det bli ett annat pris,

 

så här ser scriptet ut

 

Dim ProductsQTYRS__User

ProductsQTYRS__User = "Netto30"

If (Session("PriceGRP") <> "") Then

ProductsQTYRS__User = Session("PriceGRP")

End If

 

Dim ProductsQTYRS__ProdID

ProductsQTYRS__ProdID = "1010"

If CCcart(CC_PRODUCTID,i) <> "" Then

ProductsQTYRS__ProdID = CCcart(CC_PRODUCTID,i)

End If

 

set ProductsQTYRS = Server.CreateObject("ADODB.Recordset")

ProductsQTYRS.ActiveConnection = MM_CharonCart_STRING

ProductsQTYRS.Source = "SELECT * FROM ProductsQRY WHERE ProdPriceGRP = '" + Replace(ProductsRS__User, "'", "''") + "' AND ProdID = '" + Replace(ProductsRS__ProdID, "'", "''") + "' AND ProdQuantity > 0 ORDER BY ProdID, ProdQuantity ASC"

ProductsQTYRS.CursorType = 0

ProductsQTYRS.CursorLocation = 2

ProductsQTYRS.LockType = 3

ProductsQTYRS.Open()

ProductsQTYRS_numRows = 0

 

Do While NOT ProductsQTYRS.EOF

If Request.Form("Qty") >= ProductsQTYRS.Fields.Item("ProdQuantity").Value Then

CCcart(CC_Price,i)= ProductsQTYRS.Fields.Item("ProdPrice").Value

Else

CCcart(CC_Price,i)= ProductsRS.Fields.Item("ProdPrice").Value

End If

 

ProductsQTYRS.MoveNext()

Loop

 

ProductsQTYRS.Close()

Set ProductsQTYRS = Nothing

 

Men det verkar inte fungera

 

jag vill passa in det i det här skriptet som skriver in varan i en cookie.. men jag vet inte riktigt hur jag ska gå till väga?

 

---------------------------------------------

'**Add to cart from Link on previous page**

'**Charon Cart**

'

Randomize Timer

isFound=false

for i=0 to ubound(CCcart,2)

if CCcart(CC_ProductID,i) = ProductsRS.Fields.Item("ProdID").Value then

CCcart(CC_Quantity,i) = CCcart(CC_Quantity,i) + 1

isFound=true

exit for

end if

next

if not isFound then

for i=0 to ubound(CCcart,2)

if CCcart(CC_ProductID,i) = "" then

CCcart(CC_ProductID,i)=ProductsRS("ProdID")

CCcart(CC_Quantity,i)=Request.Form("fmQty")

CCcart(CC_Name,i)=ProductsRS("ProdDesc")

CCcart(CC_Price,i)=ProductsRS("ProdPrice")

CCcart(CC_Size,i)=ProductsRS("ProdWeight")

CCcart(CC_UniqueKey,i)=int(rnd*9999999)+10000000

exit for

end if

next

end if

 

----------------------------------

Några förslag skulle uppskattas.

Länk till kommentar
Dela på andra webbplatser

Ser tämligen struligt ut det där, du borde kunna hämta ut priset direkt i SQL frågan om du klurar lite på det men det bästa vore nog att först dela upp databasen på ett bättre sätt.

 

Varför ska du spara produkten i en cookie ?

 

Länk till kommentar
Dela på andra webbplatser

 

Det är så att i SPCS så är det uppbyggt på det sättet att man har produkterna och produkterna med mängdrabatt på olika rader, då måste jag loopa igenom alla dom markeringarna som har samma ProdID och om ProdQuantity >= så ska jag sätta ett nytt pris på varan då den ska ha "mängdrabatt" sen att jag har valt att andvända charoncart som en grund är bara för att jag har aldrig gjort en shoppingcart förut och jag tyckte att det verkade vara ett system som fungerade... men behövde viss justering.

 

Länk till kommentar
Dela på andra webbplatser

Som sagt, du borde nog kunna få ut priset direkt utan loopar om du slänger med antalet i frågan.

 

Du får klura lite på frågan dock, orkar inte föreslå något ;-)

 

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...