|
hi all
i have built this cart using a well known asp help book, but i am having trouble changing a few things about to customise it more.
Could some please tell me why i need the '2' in the following:
FOR i = 0 TO UBOUND (localCart, 2)
is it purely because it is the second time i have referenced it in the code?
also i want to pass hidden fields for each column in my array (id, artist, title etc) it works as it is but if i leave the line as
FOR tq = 0 TO UBOUND( localCart, 2 )
i and up sending across about 50 lots of empty hidden fields
and if i change to
FOR tq = 0 TO UBOUND( localCart, 1 )
i send about 5 lots of hidden fields, obviousdly this is better but all i want is to send across only the amount that is in the shaopping basket?!
can anyone help - code is below, sorry for the lengh, i have tried to cut out any useless html for this post.
thanks
mark
<%
'define constants CONST CARTPID = 0 CONST CARTPARTIST = 1 CONST CARTPPRICE = 2 CONST CARTPQUANTITY = 3 CONST CARTPTITLE = 4 CONST CARTPFORMAT = 5
'get the shopping cart IF NOT isArray (Session("cart")) THEN DIM localCart(5,20) ELSE localCart = Session("cart") END IF
'get product information productID = TRIM(request("pid")) catID = TRIM(request("catID")) artist = TRIM(request("artist")) title = TRIM(request("title")) format = TRIM(request("format")) price = TRIM(request("price"))
'add to cart IF productID <> "" THEN foundIT = FALSE FOR i = 0 TO UBOUND (localCart, 2) IF localCart( CARTPID, i ) = productID THEN localCart ( CARTPQUANTITY, i ) = localCart (CARTPQUANTITY, i) + 1 foundIT = TRUE EXIT FOR END IF NEXT IF NOT foundIT THEN FOR i = 0 TO UBOUND (localCart, 2) If localCart(CARTPID, i ) = "" THEN localCart (CARTPID, i) = productID localCart (CARTPARTIST, i) = artist localCart (CARTPTITLE, i) = title localCart (CARTPFORMAT, i) = format localCart (CARTPPRICE, i) = price localCart (CARTPQUANTITY, i) = 1 EXIT FOR END IF NEXT END IF END IF
' Update Shopping Cart Quantities IF Request( "updateQ" ) <> "" THEN FOR i = 0 TO UBOUND( localCart, 2 ) newQ = TRIM( Request( "pq" & localCart( CARTPID, i ) ) ) deleteProduct = TRIM(Request("pd" & localCart (CARTPID,i))) IF newQ = "" or newQ = "0" or deleteProduct <> "" THEN localCart( CARTPID, i ) = "" ELSE IF isNumeric( newQ ) THEN localCart( CARTPQUANTITY, i ) = newQ END IF END IF NEXT END IF
'update Session variable with array Session ("cart") = localCart
%>
<% FOR i = 0 TO UBOUND( localCart, 2 ) IF localCart( CARTPID, i ) <> "" THEN orderTotal = orderTotal + ( localCart( CARTPPRICE, i ) * localCart( CARTPQUANTITY, i ) ) %> <TR></TR> <TD align="left" class="bottom_border"> <span class="page-nav-strong"><%=emptycart_msg%><%=Server.HTMLEncode(localCart(CARTPARTIST, i))%></span> </TD> <TD align="left" class="bottom_border"> <span class="page-nav-strong"><%=Server.HTMLEncode(localCart(CARTPTITLE, i))%></span> </TD> <TD align="left" class="bottom_border"> <span class="page-nav-strong">£<%=FormatNumber(localCart(CARTPPRICE, i))%></span> </TD> <TD align="left" class="bottom_border"> <input name="pq<%=localCart(CARTPID, i )%>" type="text" size="4" value="<%=localCart(CARTPQUANTITY, i )%>"> </td> <TD align="left" class="bottom_border"> <input name="pd<%=localCart(CARTPID, i )%>" type="checkbox" value="1"> <span class="page-nav-strong">Delete Item</span> <BR><div align="right"><a href="productpage.asp?category=<%=catID%>&productdetail=<%=localCart( CARTPID, i )%>" class="recent_searches">view item....</a></div> </td> </TR> <% END IF NEXT %> <TR bgcolor="#F4F7FD"> <TD colspan="2" align="right" class="td-top-bottom_border"> <span class="activeCategory"><B>Total:</B></span> </TD> <TD align="left" colspan="2" class="td-top-bottom_border"> <span class="page-nav-strong">£<%=FormatNumber(orderTotal)%> + shipping</span> </TD> <TD align="left" bgcolor="#ffffff" class="td-top-bottom_border"> <input type="image" img src="assets/images/updatecart.gif"> </form></TD> </TR> <TR> <TD colspan="5"><hr color="#F4F7FD"></td> </tr> <TR class="row-top-bottom_border"> <TD align="center"> <a href="default.asp" class="main_nav"><< previous page</a> </TD> <td>
</td> <td> </td> <% totalquantity = 0 %> <% FOR tq = 0 TO UBOUND( localCart, 2 ) IF localCart( CARTPPID, tq ) <> "" THEN totalquantity = totalquantity + localCart( CARTPQUANTITY, tq) END IF NEXT %>
<td align="center"> <a href="clearcart.asp" class="main_nav">empty cart</a></td> <TD> <div align="center"> <FORM METHOD="post" action="checkout.asp" style="margin-bottom:0;"> <input type="image" img src="assets/images/checkout.gif"> <%FOR i = 0 TO UBOUND( localCart, 1)%> <input type="hidden" name="idlist" value="<%=Server.HTMLEncode(localCart(CARTPID, i))%>"> <input type="hidden" name="artistlist" value="<%=Server.HTMLEncode(localCart(CARTPARTIST, i))%>"> <input type="hidden" name="titlelist" value="<%=Server.HTMLEncode(localCart(CARTPTITLE, i))%>"> <input type="hidden" name="formatlist" value="<%=Server.HTMLEncode(localCart(CARTPFORMAT, i))%>"> <input type="hidden" name="quantity" value="<%=Server.HTMLEncode(localCart(CARTPQUANTITY, i))%>"> <%NEXT%> <input type="hidden" name="ordertotal" value="<%=orderTotal%>"> <input type="hidden" name="totalquantity" value="<%=totalquantity%>"> </div></td> </tr> <tr> <td bgcolor="#F4F7FD" valign="top" class="td-top-bottom_border" colspan="5"><span class="activeCategory">You may also like:</span></td></tr> <%FOR a = 1 TO y%> <tr> <td bgcolor="#F4F7FD" valign="top" class="td-top-bottom_border" colspan="1"><%=recommend_image(a)%></td> <td bgcolor="#F4F7FD" class="td-top-bottom_border" colspan="4"><a href="productpage.asp?category=<%=recommend_catid(a)%>&productdetail=<%=recommend_id(a) %>" class="category1"><%=recommend_artist(a)%> - <span class="category2"><%=recommend_title(a)%></span></a><P> <span class="category3"><%=recommend_description(a)%>...</span>[<a href="productpage.asp?category=<%=r
|