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..
Random bilder
6 svar · 274 visningar · startad av kallee
Det går tex att lösa genom att lägga namnet på bilden i en databas och sedan hämta det slumpat...Se kod nedan
<%
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)
oRS.MoveFirst
Randomize Timer
rndNumber = Int(RND * rndMax)
oRS.Move rndNumber
response.write "<img border=0 src='imgs\" & oRS("aPicture") & "'></a>"
set oRS = nothing
set oConn = nothing
%>
@EchO
Tack så mycket!
Men skulle du kunna förklara lite bättre? Jag kan lite ASP och Acess databaser och så men inte så mycket...
[Redigerat av kallee den 01 nov 2001]
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
%>
L8er
@EchO
Hej!
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å.
mvh Jörgen :)
------------------
Varför bråka när man kan kramas?
[Redigerat av jorgen den 01 nov 2001]
Jorgen >> Skulle du kunna vara snäll att visa ett exempel?
Hej!
Kolla här:
http://www.idg.se/webstudio/asp/asp321.asp
mvh Jörgen :)
------------------
Varför bråka när man kan kramas?