Jag vet inte ifall detta går, men ifall jag har bilder som jag ska vill ska slumpas fram, tex sidan, index.asp.. När jag besöker den första gången så visas bild1.gif, och nästa gång visas bild3 går detta?, och gärna att man kan göra så att bilden minskas till 125 * 100 pixels..
Det första du bör göra är att skapa en access databas med tex tre fält:
Id, Link och aPicture.
Tryck in några bilder i databasen...
tex..test.gif.
Lägg sedan bilden test.gif i mappen
imgs.
har gjort några kommentarer i koden:
<%
Dim oRS, oConn,sSQL
Dim rndMax,rndNumber
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/intranet/authors.mdb"))
sSQL = "SELECT * FROM banners"
Set oRS = Server.CreateObject("ADODB.Recordset")
oRS.Open sSQL , oConn, 3
rndMax = CInt(oRS.RecordCount) ' Räknar antalet recordsets
Response.Write("Antal bilder att slumpa: "&rndMax&"<br>")
oRS.MoveFirst
Randomize ' Ger RND ett nytt värde
rndNumber = Int(RND * rndMax) 'RND slumpar fram ett värde mellan 0 - 1.
'Multipliceras med rndMax (antalet recordsets). Detta värde konverteras till ett heltal genom int.
oRS.Move rndNumber ' Pekaren flyttas till posten i databasen
Response.Write("Bild nr:"&rndNumber&"")
response.write "<img border=0 src='imgs\" & oRS("aPicture") & "'>" ' Bilden skrivs ut för den aktuella posten.
set oRS = nothing
set oConn = nothing
%>
I ASP serverobject finns något som heter adrotator, där du kan ange exakt bannerstorlek samt hur ofta (procentuellt) en banner ska visas i förhållande till en annan.
r: slumpen är inte att förlita sig på, det kan mycket väl hända att samma banner visas 2 ggr i rad då.