Har ett litet problem som jag inte kan förstå innan jag färdigställer min webshop...det är så att när varorna presenteras på sidan så hamnar dem en på varje rad...jag skulle vilja ha tre varor på varje rad...snälla någon som på ett lätt sätt skulle kunna hjälpa mig. Är det så här du menar att det ska se ut: nja, skulle tro att det borde vara något mer åt detta hålletVaror
här kommer koden:
<% @ 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
%>Sv: Varor
Gör en variabel som du sätter till 0, sen i varje varv så räknar du upp den och om den är 3 skriv ut </tr><tr>, sen nollställer du den igen och börjar om.
//Anna-KarinSv: Varor
iRadbryt = 0
DO UNTIL RS.EOF
iRadbryt = iRadbryt +1
' Loopa ut din kod
IF iRadbryt = 3 THEN
Response.write "</tr><tr>"
iRadbryt = 0
END IF
RS.MoveNxt
LOOPSv: Varor
iRadbryt = 0
DO UNTIL RS.EOF
iRadbryt = iRadbryt +1
<%
' 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>
IF iRadbryt = 3 THEN
Response.write "</tr><tr>"
iRadbryt = 0
END IF
RS.MoveNxt
LOOP
<br>
Jag får dock detta felmeddelandet:
Kompileringsfel i Microsoft VBScript (0x800A03FC)
'Next' förväntas.
/shop/main.asp, line 87
och så här ser rad 87 ut:
Set Conn = NothingSv: Varor
<code><%
' Om man valt en kategori så hämtar vi varorna i den
If Request.Querystring("category")<>"" THEN %>
<hr noshade size=1 color="#EEEEEE">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<% Rs.Open "SELECT * FROM shItems WHERE category=" & Request.QueryString("category")
Do Until Rs.EOF
iRadbryt=iRadbryt+1%>
<td>
<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>
</td>
<%
IF iRadbryt = 3 THEN
Response.write "</tr><tr>"
iRadbryt = 0
END IF
Rs.MoveNext
Loop
Rs.Close %>
</tr>
</table>
<% End If %>
<br>
</body>
</html>
<%
' CleanUp
Conn.Close
Set Conn = Nothing
%></code>
Felet med 'Next' förväntas. beror på att du försökt para ihop FOR med Until..