Har ett litet problem innan jag kan färdigställa webshopen. Presentationen av varorna. Du kanske måste lägga alla varor i en array som du sedan kan loopa ut i varor om tre. Iom att du presenterar varje vara i en helt egen tabell så finns det bara ett sätt som jag kan komma på. Det är att göra en till for-sats som skapar en tabell med tre cells per rad och placerar varje varu-tabell i dessa. Ingen bra lösning tror jag.Varor i webshop
De hamnar bara en vara på varje rad...skulle vilja ha 3 st varor på samma rad innan den byter till nästa. Mycket tacksam för er som kan hjälpa mig..
här är koden:
<code>
<% @ EnableSessionState=False %>
<% Option Explicit ' Vi vill ha koll på våra variabler
%><!--#include file="prevent_cache.asp"--><!--#include file="connection.asp"--><%
Dim numRecords, v, Selected
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>shCats - Kategorierna</title>
<link rel="STYLESHEET" type="text/css" href="Style.css">
</head>
<body BGCOLOR="#FFFFFF">
<P>Frossa mellan våra varor, välj en kategori:<p>
<%
'* Vi listar de aktuella kategorierna ( Tabellen shCats )
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open "SELECT * FROM shCats ORDER BY [name]",Conn,1,1
numRecords = Rs.RecordCount-1 ' Vi lägger antalet poster i en variabel
For v=0 To numRecords
Selected = ""
IF cStr(Rs.Fields("id").Value) = Request.QueryString("category") Then Selected = "Selected"
Response.Write "" & UCase( Rs.Fields("name").Value ) & " "
Rs.MoveNext
next
Rs.Close
%>
<%
' Om man valt en kategori så hämtar vi varorna i den
If Request.Querystring("category")<>"" THEN
Response.Write "<hr noshade size=1 color=""#EEEEEE"">"
Rs.Open "SELECT * FROM shItems WHERE category=" & Request.QueryString("category")
numRecords = Rs.RecordCount -1
For v=0 To numRecords%>
<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0
<% If Rs.Fields("smallImage")<>"" THEN %>
<TR><TD COLSPAN=2 ><IMG SRC="shImg/small/<%=Rs.Fields("smallImage")%>"></TD></TR>
<% End If %>
<TR>
<TD COLSPAN=2 CLASS="Item"><%=Rs.Fields("title").value%></TD>
</TR>
<TR>
<TD CLASS="Item">Pris:</TD>
<TD CLASS="Item" ALIGN=RIGHT><%= Rs.Fields("price").Value %> kr</TD>
</TR>
<TR>
<TD CLASS="Item">">Info</TD>
<TD CLASS="Item" ALIGN=RIGHT>" target="basket">Köp!</TD>
</TR>
</TABLE>
<%
Rs.MoveNext
Next
Rs.Close
End If %>
<br>
</body>
</html>
<%
' CleanUp
Conn.Close
Set Conn = Nothing
%>
</code>Sv: Varor i webshop
Sv: Varor i webshop
Om du där emot ändrar om i din presentation och lägger all presentations data (title, price,info,köp) i en cell då blir det mkt lättare. Använd isf följande struktur:
<code>
...
numRecords = rs.recordcount - 1
iRow = 1
Response.write("<table>")
For i = 0 To numRecords
If iRow = 1 Then
Response.Write("<tr>")
Response.Write("<td>")
Response.Write("Vara" & i)
Response.Write("</td>")
iRow = iRow + 1
ElseIf iRow = 3 Then
Response.Write("<td>")
Response.Write("Vara" & i)
Response.Write("</td>")
Response.Write("</tr>")
iRow = 1
Else
Response.Write("<td>")
Response.Write("Vara" & i)
Response.Write("</td>")
iRow = iRow + 1
End If
Rs.MoveNext
Next
Response.write("</table>")</code>
Har inte kollat att det fungerar men det borde det göra -> finns enklare sätt ändå att lösa detta men jag är lite för trött nu tror jag.
Lycka till!