Avatar billede voller Nybegynder
28. februar 2002 - 11:59 Der er 3 kommentarer og
1 løsning

Vælg 2 samhørende værdier tilfældigt fra en DB.

Hejsa.


Jeg kunne godt tænke mig at vide, hvordan man hiver en helt tilfældig række ud af en acces2k-database. Problemet er, at jeg har 3 kolonner i min database jeg bruger til at lave en "tilfældigt citat" boks på min side.

1. kol.: id.
2. kol.: navn.
3. kol.: citat.

Jeg ville gerne vide hvordan man hiver en tilfældig række ud af tabellen og placerer de samhørende værdier "navn" og "citat" på samme side. Jeg har prøvet at kigge guiderne på html.dk igennem, men jeg kunne ikke lige finde noget, der mindede om mit problem.

Som det nok fremgår er jeg ultra-nybegynder til ASP, så det må gerne skæres helt ud i pap. :o)

På forhånd tak for hjælpen.


/voller.
Avatar billede cep Nybegynder
28. februar 2002 - 13:52 #1
Jeg har brugt dine kol. navne og "citatDB.mdb" som navnet på databasefilen og "citater" som tabel navnet. Jeg kender jo ikke de rigtige navne.

Håber denne ASP er kommenteret godt nok:


<%
dim DBConn ' Bruger til connection til databasen
dim RS ' Bruger til at indeholde recordsættet
dim CitatAntal ' Bruges til at angive hvor mange citater der totalt er.

' Her laves der forbindelsen til databasen.
set DBConn = Server.CreateObject("ADODB.Connection")
DBConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("citatDB.mdb")

' Først hentes der hvor mange citater der er over i variablen CitatAntal
set RS = DBConn.Execute("SELECT COUNT(id) AS antal FROM citater")
CitatAntal = Cint( "0" & RS("antal") )

' Så hentes alle citaterne
set RS = DBConn.Execute( "SELECT * FROM Citater" )

' Hvis der ikke er nogen citater i databasen skrives der at der ikke er nogen
if RS.EOF then
    Response.Write "Der er desværre ingen citater i databasen"
else
    ' Vi ryster lige tilfældighedsgenerator så den giver et tilfældigt tal
    Randomize

    ' Så hopper vi til et tilfældigt citat
    RS.Move( int( CitatAntal * Rnd ) )

    ' Også skrives citatet ud
    Response.Write "<font face='arial' size='3'>" & RS("citat") & "</font><br>" & vbNewLine
    Response.Write "<font face='arial' size='1'>Skrevet af: " & RS("navn") & " og har id: " & RS("id")  & "</font><br>" & vbNewLine
end if
%>
Avatar billede voller Nybegynder
28. februar 2002 - 17:20 #2
Smukt. Det virker jo som det skal. Tak for komptent og letforståeligt hjælp. :o)

Svar på spørgsmålet, så du kan få dine points.
Avatar billede cep Nybegynder
28. februar 2002 - 19:25 #3
Jeg forstår ikke, skal jeg besvare for at få point? Er det ikke dig der skal give mig dem.
Avatar billede voller Nybegynder
01. marts 2002 - 12:24 #4
Da du skrev ASP-koderne gjorde du det kun som en kommentar og jeg kunne derfor give dig pointene. Man skal vist "svare" og ikke "kommentere" for at kunne modtage points.
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