/ Forside/ Teknologi / Udvikling / ASP / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Tilfældigt citat
Fra : crha
Vist : 761 gange
50 point
Dato : 17-09-03 16:26

Hejsa, jeg sidder her og spikulerer over hvordan man kan lave et script der hente et tilfældigt citat fra en database og skriver det til brugeren.

Er der nogen her der kan hjælpe med dette?

Mvh.
Casper

 
 
Kommentar
Fra : ameq_


Dato : 17-09-03 16:30

citat = men en lille del af texten? eller er det bare hele text?

Kommentar
Fra : ameq_


Dato : 17-09-03 16:36

jeg har lavet en script som tager et radom post fra dben
Set Rs_Count = Conn.Execute("Select Count(*) as antalposter From dintalbe")


Randomize
postnr = Int(Rnd * Rs_Count("antalposter")) + 1

Set Rs = Conn.Execute("Select * From dintalbe")
      
post_nr = rs.move postnr-1

Set Rs = Conn.Execute("Select * From dintalbe where post_nr = " & post_nr & "")
Response.Write(rs("dintext"))

Kommentar
Fra : mariusn


Dato : 17-09-03 16:38
Kommentar
Fra : crha


Dato : 17-09-03 17:03

Til ameq_'s script:

Den skriver følgende, og jeg ved ikek hvad der er galt:

Microsoft VBScript compilation error '800a0401'

Expected end of statement

/quote/quote.asp, line 14

post_nr = Rs.move postnr-1



Kommentar
Fra : crha


Dato : 17-09-03 17:03

Til ameq_'s script:

Den skriver følgende, og jeg ved ikek hvad der er galt:

Microsoft VBScript compilation error '800a0401'

Expected end of statement

/quote/quote.asp, line 14

post_nr = Rs.move postnr-1



Kommentar
Fra : ameq_


Dato : 18-09-03 08:01

crha kan du ikke lige skrive hvordan din database ser ud så laver jeg det lige for dig...

Kommentar
Fra : crha


Dato : 18-09-03 15:36

Jeg har lavet en Access database (quote.mdb) hvor der er en form ved navn 'Quote'. I denne er der følgende felter: 'ID' og 'Quote'

Min koder ser sådan ud:

<%

Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("quote.mdb")


Set Rs_Count = Conn.Execute("Select Count(*) as antalposter From Quote")

Randomize
postnr = Int(Rnd * Rs_Count("antalposter")) + 1

Set Rs = Conn.Execute("Select * From Quote")

post_nr = Rs.move postnr-1

Set Rs = Conn.Execute("Select * From Quote where ID = " & post_nr & "")
Response.Write rs("Quote")
%>

Håber du kan hjælpe :P

Kommentar
Fra : ameq_


Dato : 18-09-03 16:03

det tror jeg nok =).. men det bliver først i morgen =)

Kommentar
Fra : ameq_


Dato : 19-09-03 09:53

<%

Function RandomRs(Table_Navn,Post_Navn)

Dim strSQL, Table_Navn, CountRs, Conn, AntalRs, CountRs, IdNr, RandRs
' Tæl antal poster
   strSQL = "Select * From " & Table_Navn & ""
   Set CountRs = Conn.Execute(strSQL)
      ' Loop det Rs ud og tæller på den måde...
      ' Ved ikke lige om count virker til acc.
      DO Until CountRs.EOF    
         AntalRs = AntalRs + 1
       CountRs.MoveNext
      Loop
      
         ' Tager et random id fra database ved at * antal med det
         ' men funktion Rnd
         ' (mere info http://www.devguru.com/technologies/vbscript/quickref/rnd.html)
         Randomize
          IdNr = Int(Rnd * AntalRs) + 1

   strSQL = "Select * From " & Table_Navn & " Where id = " & IdNr-1 & ""
   Set RandRs = Conn.Execute(strSQL)
   
    RandomRs = RandRs(Post_Navn)

End Function
Response.Write(RandomRs("Quote","Quote"))
%>

Det skulle virke =)

Kommentar
Fra : crha


Dato : 20-09-03 23:57

Virker ikke helt :/

Kommentar
Fra : ameq_


Dato : 22-09-03 08:22

okey?
hva er da galt?

For jeg testede det på min egen database og der virkede det =)

Kommentar
Fra : crha


Dato : 22-09-03 19:10

Jeg har i databasen skrevet 3 citater, men den skifter kun mellem de første to, og når den vælger det tredje, kommer der en fejl :/

Kommentar
Fra : ameq_


Dato : 23-09-03 09:13

okey det vil jeg lige teste =)

Accepteret svar
Fra : ameq_

Modtaget 50 point
Dato : 23-09-03 09:25

Prøve at slette -1 i SQL str

sådan kommer til at se sådan her ud
   strSQL = "Select * From " & Table_Navn & " Where id = " & IdNr & ""
   Set RandRs = Conn.Execute(strSQL)


Har lige selv teste det og det virker findt
Lavde en db med ti poster og alle poster kommer ud... =)

Godkendelse af svar
Fra : crha


Dato : 24-09-03 15:24

Wee, mange tak svaret ameq_, nu virker det perfekt ;)
                        

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste