webForumDet fria alternativet

Visa slumpade bilder

1 svar · 183 visningar · startad av WebbisNet

WebbisNetMedlem sedan feb. 20032 027 inlägg
#1

Kan någon se varför det blir 2 tomma bildramar när jag visar 8 bilder med detta script, när jag visar 6 så fylls alla

<%
Dim oConn ,strSQL ,bilder ,i, j ,Count ,post ,antalBilder ,Found 
     
    Set oConn = server.CreateObject("ADODB.Connection") 
    oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= " & server.MapPath("/db/Inloggning.mdb") & ";" 

    strSQL = "SELECT picture, username, visaBild" & vbCrLf & _ 
             "FROM tblUsers" & 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=""left"">" 
        bilder = rs.GetRows() 
        antalBilder = UBound(bilder, 2) + 1 

        Count = 8 
        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=""100"" width=""80"" src=""/images/users/" & bilder(0, post) & """ alt=""" & bilder(1, post) & """>&nbsp;" 
        Next 
        Response.Write "</td></tr></table>" 
    End If 
    rs.Close 
    Set rs = Nothing 
%>
EclipseMedlem sedan juli 20003 825 inlägg
#2

post = Int(Rnd * antalBilder) +1

***

Nej, jag vet inte... jag kollade på din kod och jag fattar inte, den är lite förvirrande.

Jag vet i alla fall att du måste använda +1 för annars blir det 0 och du vill ju få med alla bilder...

Dessutom är antalBilder fel. Det ska vara +1 eller -1, minns ej.

Eller hmm... så här kanske?
post = Int(Rnd * antalBilder + 1)

122 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
120 ms — hämta tråd, inlägg och bilagor (db)