webForumDet fria alternativet

ska en slumpklänk

ASP

15 svar · 313 visningar · startad av anders4u

Medlem sedan apr. 2002271 inlägg
Frågan#1

Hej
skulle vilja ha en länk på en sida som går till en asp-sida
där det väljs ut en rs("url") från databasen
och som sedan response.redirect (rs("url"))
det skall alltså vara en slumpad länk från databasen.
hur gör man.
måste man kanske använda javascript?
tack på förhand, Anders.

Medlem sedan nov. 20017 144 inlägg
#2

Sök på rnd eller prova:
sql="select top1 from tabellen order by rand()"

Medlem sedan feb. 20022 594 inlägg
Medlem sedan nov. 20017 144 inlägg
#4

Kanske inte direkt i sql:en, annars så får man väl göra:

Randomize
destiny = cInt(rnd()*ANTALETPOSTERIDATABASEN)+1
sql="select top1 from tabellen WHERE ID="& destiny
Medlem sedan feb. 20022 594 inlägg
#5

Då är det ganska mycket smartare att använda sig av LarsGs kod.

Medlem sedan apr. 2002271 inlägg
#6

tackar!
ska prova detta.

Medlem sedan nov. 20017 144 inlägg
#7

Ekström skrev:

Då är det ganska mycket smartare att använda sig av LarsGs kod.

Vilken kod besitter LarsG på då som är så smart? ;)
(Alla antagligen...) :e

Medlem sedan apr. 2002271 inlägg
#8

Randomize
destiny = cInt(rnd()*ANTALETPOSTERIDATABASEN)+1
sql="select top1 from tabellen WHERE ID="& destiny

men hur vet man ANTALETPOSTERIDATABASEN
och det kan ju hända att ett nummer text 22 i databasen inte används? eller.

annars tycker jag att detta exempel borde vara det enklaste och bästa.

Medlem sedan jan. 2001188 inlägg
#9

Jag har alltid undrat över randomize, så som jag har sett det när jag har testat så har randomize varken gjort till eller från ...

Medlem sedan nov. 20017 144 inlägg
#10

Som jag skrev förut: sök på rnd, så kommer du hitta massor av svar på samma problem.

Medlem sedan apr. 2002271 inlägg
#11

ska man göra en först
select count() för att veta hur många poster det är i databen
eller hur stoppar man in det i en variabel annars
innan man skriver själva sql-satsen?

Medlem sedan mars 20002 836 inlägg
#12

Om du inte använder Randomize så kommer slumpnings schemat att alltid se likadant ut, med randomize så får du ett nytt "frö" (vanligtvis system-datumtid) att skapa slump-schemat från

ett lätt sätt att slumpa

strSQL = "SELECT LinkURL FROM Links"

Set objRS = objConn.Execute(strSQL)
	If Not objRS.EOF Then
		varUrls = objRS.GetRows()

		Randomize

		intRnd = rnd * UBound(varUrls,2)

		strUrl = varUrls(0,intRnd)

		Response.Redirect strUrl
	Else
		Response.Write "Inga länkar hittades."
	End If
Set objRS = Nothing

om man nu endast ska slumpa en enda länk

cya,
PatrikB

Medlem sedan jan. 2001188 inlägg
#13

Den eviga sökningen...:)
Wellwell, vill bara veta varför man måste ha randomize innan man kör med rnd. Det funkar ju nämligen både med och utan randomize... Överallt jag söker står det bara hur man slumpar, jag vill veta varför man måste skriva randomize innan..
Nåja, jag testade att ta bort det igen, och det slumpar, men slumpar bara ett tal som det sen håller fast vid.. inte bra utan randomize alltså
Känns skönt att ha rett ut det med mig själv:)

Medlem sedan jan. 2001188 inlägg
#14

Det tog lång tid för mig att skriva mitt svar, tack för ditt svar PatrikB:)

Medlem sedan apr. 2002271 inlägg
#15

tack!
det fungerar nästan, jag får ändra lite i min kod så funkar det nog ,
tack än en gång! :birp

Medlem sedan apr. 2002271 inlägg
#16

Nu fungerar det :)
tack PatrikB
du är en hyvens kille

258 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)