webForumDet fria alternativet

Slumpad Annons

3 svar · 186 visningar · startad av visse

visseMedlem sedan maj 20016 inlägg
#1

Hejsan!

Jag undrar om nån vet nåt bra eller kan skriva ett skript som slumpar fram annonser som ligger i en databas.
Tack på förhand!

------------------
Även den bäste kan göra misstag.

SPiNMedlem sedan mars 20007 896 inlägg
#2

Självklart.

Hämta först antal poster i tabellen, sen sätter du bara det som högsta värde när du ska randomiza.

SQL = "SELECT COUNT(*) AS cntAntal FROM tblTabell"
set Antal = ConnectionObjekt.Execute(SQL)
Randomize
nRandom = int(rnd * cInt(Antal("cntAntal")))
Antal.Close
set Antal = Nothing
SQL = "SELECT * FROM tblTabell WHERE id = " & nRandom
set Post = ConnectionObjekt.Execute(SQL)
...

------------------
SPiN, bjorne.w@telia.com

-- Fame is a bitch, man [Brad Pitt - Fight Club] --

DavidBMedlem sedan jan. 20001 372 inlägg
#3

e det så bra då?

tänk om han tar bort en annons med id 45 och han har 300 annonser i databasen.

då finns ju risken att det slumpade nummret blir 45, eller?

------------------
// David - Probably the best guy in the world

PatrikBMedlem sedan mars 20002 836 inlägg
#4

alldeles riktigt, så kan det bli och det e ju inte så bra :P

Testa detta istället:

	strSQL = "SELECT id, annons FROM annonser"
	Set objRS = objConn.Execute(strSQL)
		arrId = objRS.GetRows
		objRS.Close
	Set objRS = Nothing
	
	Randomize
	intId = CInt((rnd*UBound(arrId,2)))

	Response.Write arrId(1,intId)

du får ju ändra så att sql-uttrycket stämmer överens med din tabell och fält

cya,
PatrikB

------------------
*Det tar sig sa han som hade eld i håret*

[Redigerat av PatrikB den 20 maj 2001]

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