---
title: "Visa slumpade bilder"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/117626-visa-slumpade-bilder"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "WebbisNet"
published: "2004-12-08T18:49:37.000Z"
updated: "2004-12-09T10:48:14.000Z"
replies: 1
views: 183
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/117626-visa-slumpade-bilder"
---

# Visa slumpade bilder

## #1 — WebbisNet, 2004-12-08T18:49Z

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 
%>
```

Permalänk: https://www.webforum.nu/p/117626

## #2 — Eclipse, 2004-12-09T10:48Z

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)

Permalänk: https://www.webforum.nu/p/1501723

---

Tråden på webben: https://www.webforum.nu/amne/asp/117626-visa-slumpade-bilder
