Avatar billede svanhovd Nybegynder
01. marts 2002 - 09:56 Der er 11 kommentarer og
1 løsning

Vælge tilfældig post fra database

Er det muligt at vælge en tilfældig post fra en tabel i en database?

Jeg har f.eks. følgende SQL query : "SELECT * FROM tabel WHERE kode=5". Hvis der nu findes 10 poster i tabellen, hvor feltet kode har værdien 5, ønsker jeg en af disse poster valgt tilfældigt.
Avatar billede juggalo Nybegynder
01. marts 2002 - 10:11 #1
åbn forbindelse til databasen
lav dit recordset (SELECT * FROM tabel WHERE kode=5)
hiv recordsettet ind i en array  (myarray=rs.getrows() )
luk forbindelse til databasen
generer et random tal fra 1 til antallet af posten i array
hiv fat i den post i arrayet som har ovennævnte tal
Avatar billede svanhovd Nybegynder
01. marts 2002 - 10:20 #2
juggalo> Tak for svaret. Jeg tror jeg klarer at udføre det meste i din fremgangsmåde. Det eneste er ; Hvordan generer jeg et tilfældigt (hel)tal mellem .feks. 1 og 5?
Avatar billede Slettet bruger
01. marts 2002 - 10:45 #3
Avatar billede juggalo Nybegynder
01. marts 2002 - 10:54 #4
for at lave random heltal;
Int((maxværdi - minværdi + 1) * Rnd + minværdi)

og husk lige at køre randomize inden du genererer tallet :)
Avatar billede Slettet bruger
01. marts 2002 - 11:08 #5
nu fatter jeg hvorfor den blev ved med at generere samme tal hele tiden =)
Avatar billede Slettet bruger
01. marts 2002 - 11:10 #6
Jeg har lavet hele scriptet hvis du vil have det svanhovd?
Avatar billede svanhovd Nybegynder
01. marts 2002 - 11:27 #7
joker> Ja tak det vil jeg meget gerne. Har du mulighed for bare at "paste" det her?
Avatar billede Slettet bruger
01. marts 2002 - 11:30 #8
jada:

strSQL = "Select count(*) as found FROM Tagwall"
Set myConn = Server.CreateObject("ADODB.Connection")
tempConn = "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../database/riot.mdb") & ";UID=admin;PWD=;"
myConn.Open tempConn
Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
    Do While Not rs.EOF
        Response.write "Samlet antal poster: " & rs("found")
        Response.write "<br>"
        Randomize
        Response.write "Tilfældigt nummer: " & Int((rs("found") - 1 + 1) * Rnd + 1) & "</b>"
        rs.MoveNext
    Loop
End If
myConn.Close
Set myConn = Nothing
Avatar billede Slettet bruger
01. marts 2002 - 11:31 #9
du ved vel selv hvad du skal tilpasse i det?
Avatar billede svanhovd Nybegynder
01. marts 2002 - 12:09 #10
joker> Kom med et svar, så får du nogle poeng
Avatar billede Slettet bruger
01. marts 2002 - 13:12 #11
bare giv dem til juggalo, jeg kan ikke bruge de point til noget
Avatar billede svanhovd Nybegynder
01. marts 2002 - 13:17 #12
Som du vil :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester