Använd getrows, som hämtar data snabbt
Förord
Den här if satsen i GetRows gör att du kan skriva ut flera td taggar bredvid varandra. I det här fallet skriver jag ut 5 st td taggar.Innehåll
»»
»
Skriv ut Getrows
Det första jag gör är att sätta A = 0 för att inte få med skräp in. Sedan tilldelar jag A värdet av iRad Mod 5 eftersom jag vill ha ut fem celler i min tabell. Vill man ha ut andra värden får man skriva in det. För tre celler blir det A = iRad mod 3. Jag behöver alltså inte veta exakt antalet rader i databasen, utan får det från iRad värdet. Sist så minskar jag iRad med 1. If satsen kontrollerar om A= 0, är det det skrivs en radbryt ut, annars inte.
<%
Dim conn, rs, strconn Dim iRad, iKol, arrayData
Set conn = Server.CreateObject("ADODB.CONNECTION")
conn.open
strconn Set rs = server.createobject("adodb.recordset")
rs.open "SELECT DISTINCT(Vecka) FROM tbl_shcema", conn, 2, 2
' hämtar alla poster till arrayData
arrayData = rs.GetRows()
rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing
A = 0 ' Töm A så att vi inte får med skumma värden senare.
Response.Write("")
For iRad = 0 To Ubound(arrayData, 2)
A = iRad mod 5
If A = 0 THEN
' gör en ny rad
Response.Write(" ")
END IF
For iKol = 0 To Ubound(arrayData, 1)
Response.Write(" arrayData(iKol, iRad) & ">" & arrayData(iKol, iRad) & _
" ")
Next
A = iRad -1
Next
Response.Write(" /table>")
%>
OBS! Om du inte har conn.inc på din dator kan du ta bort översta raden. Jag använder siffor istället för de konstanter som används för ADO objektet.
Exempelfil att tanka
Fil: schema.zip
Avslutningsvis
För att jag skall veta om kursen är bra eller om den måste skrivas om så rösta gärna här uppe till höger. Skicka gärna ett iMail om du vill kommentera något som är felaktigt eller du tycker borde förtydligas.
/Anna-Karin Söderberg
Jonas Boman
A = iRad -1 < BR > jag förstår inte denna rad i koden. Skulle du kunna förklara den?! //jonas