webForumDet fria alternativet

Slumpa fram ett tal utifrån element i databasen

ASP

5 svar · 253 visningar · startad av Thorsander

Medlem sedan aug. 2001746 inlägg
Frågan#1

Hej!

Jag sitter för första gången och skall använda mig av Randomize funktionen i ASP...

Jag har en access-databas.
Jag vill få fram ett slumpat värde baserat på antalet poster jag har i databasen.
Alltså om jag har 5 poster så vill jag slumpa fram ett tal mellan 1-5.
Detta tal skall jag sedan använda för att hämta värden ur posten x (värdet/platsen som har slumpats fram).

Hur gör jag!?
Vore himla gosigt om någon ville ta sig tid och hjälpa mig... :)

Jag vet alltså inte hur jag loopar igenom tabellen och kollar hur många poster som finns...
Jag vet inte heller hur jag sedan slumpar fram ett tal ur det värde jag fått fram genom loopen.

Något i still med koden nedan hade jag tänkt att använda när jag väl fått mitt slumpade värde...

Hjälp!!! :OO

<%
Response.Buffer = True
Dim connStr
connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=F:\xxx\xxx\xxx\xxx\xxxxxxx.mdb"

Dim con
	Set con = Server.CreateObject("ADODB.Connection")
		con.Open connStr
Dim rs
	Set rs = Server.CreateObject("ADODB.Recordset")
	
	' opening connection
	rs.Open "select xxxxx from xxxxx where id=**Värdet som slumpats fram** ", con, 3, 4
	
	myVariable = rs("xxxxx")

	rs.Close
	Set rs = Nothing

	con.Close
	Set con = Nothing

%\>
Medlem sedan nov. 20017 144 inlägg
#2

Det du gör är att klicka på sök, och söka på RND ;)

Medlem sedan aug. 2001746 inlägg
#3

Jag har gjort det :(
Men inget tycks passa in på mig.

Vore mycket tacksam om någon hade tid!

Medlem sedan nov. 20017 144 inlägg
#4

Kanske detta kan vara ngt?

<% 
Response.Buffer = True 
Dim connStr 
connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=F:\xxx\xxx\xxx\xxx\xxxxxxx.mdb" 

Dim con 
Set con = Server.CreateObject("ADODB.Connection") 
con.Open connStr 
Dim rs 
Set rs = Server.CreateObject("ADODB.Recordset")

totexp=350 -1'Antal idnummer -1 
randomize
slump = cint(rnd * totexp)+1

' opening connection 
rs.Open "select xxxxx from xxxxx where id="& slump &"", con, 3, 4 

myVariable = rs("xxxxx") 

rs.Close 
Set rs = Nothing 

con.Close 
Set con = Nothing 

%>
Medlem sedan aug. 2001746 inlägg
#5

Kanon!
Precis vad jag behövde.
Resten fixar jag själv.

Tackar!!!

Medlem sedan feb. 20022 594 inlägg
#6

Det där sättet är inte det bästa om du t.ex. saknar post nr 249. Det är bättre att plocka ut med getrows och sedan slumpa bland dem.

Kolla här t.ex.. Gjorde en sökning

257 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)