Med det här sciptet så slumpas upp till 7 bilder ut på en sida och bilderna slumpas fram varje gång man går in på sidan eller uppdaterar. Nu är det så att samma bild visas 2 eller fler gånger på samma gång......inte så snyggt. Nån som vet hur man löser det Detta kanske kan vara till hjälp? när jag kör med färgkodning så ser jag en brytning vid If Count > antalBilder Then Testa att öka scriptets livslängd, felet beror på at scriptet tar för lång tid att köra. med tanke på att sidan tar en evighet att öppna med det här scriptet och snabbare med det som visar dubletter så gissar jag på att det är nåt med loopen.....men vad? Har provkört följande kod: Det verkar fungera nu, tack så jättemycket. Kika in resultatet på www.webbisen.comSlippa dubletter i bildvisningen
<%
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= "& server.MapPath("/db/databasnamn.mdb") & ";"
SQL = "Select picture, username, visaBild from tabell where not picture='nopic.jpg' and visaBild=true"
RStemp = UBOUND(oConn.Execute(SQL).GetRows(),2)+1
Randomize
Set RS = oConn.Execute(SQL)
response.write "<table width=""95%""><tr><td align=""center"">"
if not rs.eof then
bilder = rs.getrows()
antalBilder = ubound(bilder,2) + 1
For i = 0 to 6
if i = antalBilder then exit for
post = Int(RND*(antalBilder - i))
Response.write "<img border=""1"" height=""120"" width=""100"" src='/images/users/"&bilder(0,post)&"' alt="""&bilder(1,post)&"""> "
Next
end if
response.write "</td></tr></table>"
Rs.Close
Set Rs = Nothing
%>Sv: Slippa dubletter i bildvisningen
<code>
<%
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= "& server.MapPath("/db/databasnamn.mdb") & ";"
strSQL = "SELECT picture, username, visaBild" & vbCrLf & _
"FROM tabell" & vbCrLf & _
"WHERE not picture='nopic.jpg' and visaBild=true"
Set RS = oConn.Execute(strSQL)
If rs.eof then
Response.Write "Det finns inga bilder..."
Else
Response.Write "<table width=""95%""><tr><td align=""center"">"
bilder = rs.getrows()
antalBilder = ubound(bilder,2) + 1
Count = 6
If Count > antalBilder Then
Count = antalBilder
End If
ReDim Shown(Count)
Randomize
For i = 0 to Count
Do
Found = False
post = Int(RND * antalBilder)
For j = 0 to i - 1
If Shown(j) = post Then
Found = True
Exit For
End If
Next
Loop While Found
Shown(i) = post
Response.write "<img border=""1"" height=""120"" width=""100"" src=""/images/users/" & bilder(0,post) & """ alt=""" & bilder(1,post) & """> "
Next
response.write "</td></tr></table>"
end if
Rs.Close
Set Rs = Nothing
%>
</code>Sv: Slippa dubletter i bildvisningen
Detta blir output tillsammans med bilderna
Active Server Pages error 'ASP 0113'
Script timed out
/default.asp
The maximum amount of time for a script to execute was exceeded. You can change this limit by specifying a new value for the property Server.ScriptTimeout or by changing the value in the IIS administration tools. Sv: Slippa dubletter i bildvisningen
' Justera tiden beroende på hur lång tid det kan ta att skriva ut bilderna
Server.ScriptTimeout = 5400
//Anna-Karin
Sv: Slippa dubletter i bildvisningen
Sv: Slippa dubletter i bildvisningen
<code>
Dim rs
Dim oConn
Dim strSQL
Dim bilder
Dim i, j
Dim Count
Dim post
Dim antalBilder
Dim Found
Set oConn = server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= " & server.MapPath("/db/databasnamn.mdb") & ";"
strSQL = "SELECT picture, username, visaBild" & vbCrLf & _
"FROM tabell" & vbCrLf & _
"WHERE not picture='nopic.jpg' and visaBild=true"
Set rs = oConn.Execute(strSQL)
If rs.EOF Then
Response.Write "Det finns inga bilder..."
Else
Response.Write "<table width=""95%""><tr><td align=""center"">"
bilder = rs.GetRows()
antalBilder = UBound(bilder, 2) + 1
Count = 6
If Count > antalBilder Then
Count = antalBilder
End If
ReDim Shown(Count)
Randomize
For i = 1 To Count
Do
Found = False
post = Int(Rnd * antalBilder)
For j = 1 To i - 1
If Shown(j) = post Then
Found = True
Exit For
End If
Next
Loop While Found
Shown(i) = post
Response.Write "<img border=""1"" height=""120"" width=""100"" src=""/images/users/" & bilder(0, post) & """ alt=""" & bilder(1, post) & """> "
Next
Response.Write "</td></tr></table>"
End If
rs.Close
Set rs = Nothing
</ode>Sv: Slippa dubletter i bildvisningen