Random värde från databas.

ASP

5 svar · 512 visningar · startad av Brimba

Medlem sedan dec. 19995 874 inlägg
Trådstart#1

Hej!

Jag är lite snurrig nu.
Men hur får man ut om man har en tabell som är uppbyggd tex så här:

ID Namn
23 Test1
25 Test2
118 Test3

Så finns det altså 3st poster i databasen.
Det jag vill är att slumpa ut ett av dessa värderna så lixom om den slumpar ut 25 så skall man få ut värder Test2.

Tack!

Mvh
Patrik
aka Brimba

Medlem sedan dec. 19998 577 inlägg
#2

... oki... då skall vi se...:
först räknar du antalet poster:
SQL = "Select count(*) AS Count_poster from tabell"
Set RS = Databas.Execute(SQL)

Sen väljer du en post:
Randomize
post = Int((rnd*RS("count_poster"))+1)-1

Set RSdbase = Server.CreateObject("ADODB.Recordset")

'skriv din egen DSN
RSdbase.open SQL, "dsn=databas"

'flytta sig till posten
RSdbase.Move post

'hämta kolumnen
get_post = RSdbase("namn")

...så där... detta borde funka... ändra det som passar din databas, skall allt ordna sig...

Medlem sedan dec. 19995 874 inlägg
#3

Ehh..
Jag gjorde så här:

		<%	
			Set Connection = Server.CreateObject("ADODB.Connection")
			Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\dmab\internet.mdb"
			SQL = "Select count(*) AS count_poster from tabRandom"
			Set RS = Connection.Execute(SQL) 
	
			Randomize
			post = Int((rnd*RS("count_poster"))+1)-1 

			'flytta sig till posten
			RS.Move post
		%>

Fungerade inte, vad är fel?

Mvh
Patrik
aka Brimba

Medlem sedan dec. 19995 874 inlägg
#4

Sen skriver jag bara ut det så här:

		<A HREF="<%= RS("httpURL")%>">
				<IMG SRC="<%= RS("bildURL")%>" border="0" width="480" height="60">
			</A>
Medlem sedan dec. 19995 874 inlägg
#5

Man tycker ju att det borde finnas tex

SQL = "SELECT rnd(*) FROM tabRandom"

Så väljer den en post ut tabellen.

Finns det verkligen inget sånt kommando?

Mvh
Patrik
aka Brimba

Medlem sedan dec. 19995 874 inlägg
#6

Hej igen!

Jag löste det :)

		<%	
			Set Connection = Server.CreateObject("ADODB.Connection")
			Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\dmab\internet.mdb"
			SQL = "Select * FROM tabRandom"
			RStemp = UBOUND(Connection.Execute(SQL).GetRows(),2)+1 
	
			Randomize
			post = Int(RND*RStemp)
			Set RS = Connection.Execute(SQL)

			For s = 1 to post
			RS.MoveNext
			Next

		%>

			<A HREF="<%= RS("httpURL")%>">
				<IMG SRC="<%= RS("bildURL")%>" border="0" width="480" height="60">
			</A>

Det var ju roligt för mig :)

Mvh
Patrik
aka Brimba

251 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
117 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)