Jag har en mysql databas med 2 fält. Ett fält som innehåller en länk till en bild och ett fält som innehåller text som ska stå under bilden.
Jag har också en table med 3 kolumner.
Jag vill loopa ut 3 bilderna från databasen till de tre kolumnerna. Sen vill jag skapa en ny rad och loopa ut texten till de 3 ovanstående bilderna.
jag har skrivit en klumpig och ful kod som dessutom inte fungerar ordentligt:
i = 0
while (not rs.EOF)
i = i+1
if i > 3 or rs.EOF Then
i=0
Response.write("</tr>")
Response.write("<tr>")
Response.write("<td>"& firstString &"</td> <td>"& secondString &"</td> <td>"& thirdString &"</td> ")
Response.write("</tr>")
Response.write("<tr>")
End if
if i = 1 Then
firstString = rs.fields(1).value
End if
if i = 2 Then
secondString = rs.fields(1).value
End if
if i = 3 Then
thirdString = rs.fields(1).value
End if
Response.write("<td><img src='"&rs.fields(0).value&"' height='142' idth='100'></a></td>")
rs.MoveNext
wend
hoppas någon fattar vad jag menar och kan hjälpa mig! Sen undrar jag om man kan använda namnen på fälten i databasen - som man gör med access databaser - istället för "rs.fields(0).value"!
tack för svaret!
Exakt vad jag behövde!
Men hur stegar man fram "3 poster i taget" i asp? Jag har letat lite på google men har inte hittat hur man gör!
jag hittade inget sätt att öka en for loop med 3 itaget så jag skrev följande istället:
counter = 0
while counter <= RowsInLeet
For icounter= 0 to 2
Response.write("<td><img src='"&arrLeet(1,counter+icounter)&"'></td>")
Next
Response.write("</tr><tr>")
For icounter= 0 to 2
Response.write("<td>"&arrLeet(0,counter+icounter)&"</td>")
Next
Response.write("</tr><tr>")
counter = counter+3
Wend
Men problemet är att om det inte finns 3, 6, 9 poster utan kanske 5 poster så får jag felmeddelandet "Subscript out of range" Någon ide på hur man kan förhindra detta?
<%
set myConn = createobject("ADODB.Connection")
myConn.open "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=******; UID=*****; PWD=*****"
set myRS=Server.CreateObject("ADODB.recordset")
strEventSQL = "SELECT text, bildLink FROM Leet"
set RS = myConn.Execute (strEventSQL)
If Not rs.EOF Then
' Gets all the records
arrLeet = rs.GetRows()
End If
Set rs = Nothing
myConn.Close
Set myConn = Nothing
' Retrieve the total # of rows
RowsInLeet = ubound(arrLeet,2)
%>
counter = 0
while counter <= RowsInLeet
For icounter= 0 to 2
if counter+icounter <= RowsInLeet
Response.write("<td><img src='"&arrLeet(1,counter+icounter)&"'></td>")
End if
Next
Response.write("</tr><tr>")
For icounter= 0 to 2
if counter+icounter <= RowsInLeet
Response.write("<td>"&arrLeet(0,counter+icounter)&"</td>")
End if
Next
Response.write("</tr><tr>")
counter = counter+3
Wend
252 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e