webForumDet fria alternativet

slumpa fram 5 olika bilder

ASP

42 svar · 1 099 visningar · startad av ampy · sida 3 av 3

Frågan, av ampy

Har sökt bland tidigare inlägg men har inte hittat något som visar hur man kan göra detta. SQL = "Select \ from members where bild = 'bildyes' " dessa krav vill jag uppfylla. Bilderna finns i en mapp som heter krypinbild och där heter bilderna bildid .jpg Där id är ett nummer på den medlemmen som jag hämtar från SQL-satsen härovan. Hur ska man nu göra för att slumpa fram 5 olika bilder var

Läs frågan i sin helhet →
Medlem sedan mars 20015 287 inlägg
#41

Det där ser smart ut. Det tycker jag borde fungera. Är du säker på att din sql-fråga verkligen ger träff? (iofs skulle du få ett mess annars...
Vad visar källkoden?

Medlem sedan feb. 20032 027 inlägg
#42

när jag kör med färgkodning så ser jag en brytning vid If Count > antalBilder Then

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.

Medlem sedan feb. 20032 027 inlägg
#43

Detta verkar funka bra :-)

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) & """>&nbsp; &nbsp;" 
        Next 
        Response.Write "</td></tr></table>" 
    End If 
    rs.Close 
    Set rs = Nothing
261 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)