Avatar billede herberth Juniormester
18. november 2002 - 00:27 Der er 10 kommentarer og
1 løsning

Random udvælgelse

Hej
Jeg er ved at lave en site hvor jeg gerne vil have at man kan vælge et tarotkort og så skal der ske det at maskinen vælger tilfældigt imellem 78 html.filer og viser en af dem i en lille tabel. Er der nogen der kender til sådan en random funktion ?
Avatar billede pelkjaer Nybegynder
18. november 2002 - 00:35 #1
Ikke lige i html.
Det ville være ret nemt at fixe hvis du kørte dine sider som asp med eb database. -så slipper du også for så mange html sider. 78 lyder helt vanvittigt :)

Hvis ovenstående ikke er et alternativ kan det givetvis laves med noget javascript - men det lyder bøvlet.
Avatar billede herberth Juniormester
18. november 2002 - 00:37 #2
Jeg kører faktisk nogle af siderne i en database - tror du det er løsningen ?
Avatar billede pelkjaer Nybegynder
18. november 2002 - 00:39 #3
Ja så er det utroligt nemt.
Hvordan viser du tarot kortene?

Er det billeder?
Avatar billede herberth Juniormester
18. november 2002 - 00:42 #4
Yes gif - men der skal også gerne tekst ved siden af der fortæller hvad kortet betyder
Avatar billede pelkjaer Nybegynder
18. november 2002 - 01:04 #5
Piece og cake then.

Hvis du laver et rs (asp) der hedder "rsRandom" vil dette virke:

<%
' random record
If Not(rsRandom.bof and rsRandom.eof) Then
  If (rsRandom.CursorType > 0) Then
    rsRandom.MoveFirst
  Else
    rsRandom.Requery
  End If
 
  rsRandom_totalrn = -1
  rsRandom_totalrn = rsRandom.RecordCount
  If (rsRandom_totalrn = -1) Then

    rsRandom_totalrn=0
    While (Not rsRandom.EOF)
      rsRandom_totalrn = rsRandom_totalrn + 1
      rsRandom.MoveNext
    Wend

    If (rsRandom.CursorType > 0) Then
      rsRandom.MoveFirst
    Else
      rsRandom.Requery
    End If
   
  End If

rsRandom_totalrn = rsRandom_totalrn - 1
If rsRandom_totalrn > 0 Then
Randomize
rsRandom.Move Int((rsRandom_totalrn + 1) * Rnd)
End If
End If
%>
<% If Not rsRandom.EOF Or Not rsRandom.BOF Then %>
<img src="random_gfx/<%=(rsRandom.Fields.Item("dit_db_felt").Value)%>">
<% End If %>

teksten smider du bare på samme måde - evt. fra samme rs.
Avatar billede pelkjaer Nybegynder
18. november 2002 - 01:08 #6
Rettelse, jeg sidder og sover - teksten smider du selvfølgelig herinde:

<% If Not rsRandom.EOF Or Not rsRandom.BOF Then %>
<img src="random_gfx/<%=(rsRandom.Fields.Item("dit_db_felt").Value)%>">
<% End If %>

Enten over eller under billedet - som nu nu ønsker.
Bare sørg for at tekst og billeder har samme id i din database, samt at trække begge disse felter ud i "rsRandom"
Avatar billede herberth Juniormester
18. november 2002 - 01:09 #7
Okay jeg skal altså lave et asp fil der hedder rsRandom og i dens headdel skal jeg indsætte denne kode - er det rigtig forstået ?
Avatar billede pelkjaer Nybegynder
18. november 2002 - 01:11 #8
Nej - du skal lave en asp fil som du kalder whatever.

I denne fil laver du et recordset der hedder "rsRandom" hvori du udtrækker en database tabel indeholdende dine billeder samt tilhørende tekster.

Der på din sin hvor du så ønsker at random funktionen så skal vise dine billeder - indsætter du så ovenstående kode. Fx. i en tabel celle.
Avatar billede herberth Juniormester
18. november 2002 - 01:12 #9
Okay - nu er det vist mig der sover - jeg skal selvfølgelig først putte dem ind i min database - sorry - det er jo åbenbart en større opgave jeg har sat mig for - nå men jeg arbejder lidt med det og vender tilbage - men det bliver nok i morgen for jeg er ved at være lidt busted
Avatar billede herberth Juniormester
18. november 2002 - 16:56 #10
ALTSÅ SÅDAN HER ???

<html>
<head>
<title>Træk et tarotkort</title>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
</head>

<body>
<!-- FREMGANGSMÅDE ER FØLGENDE -->
<!-- A - JEG OPRETTER EN DATABASE PÅ MIT WEBHOTEL -->
<!-- A - I DENNE DATABASE LAVER JEG TO RÆKKER - EN MED TAROTKORTENE OG EN MED FORKLARENDE TEKST -->
<!-- B - SÅ LAVER JEG EN ASP FIL DER KALDER DETTE RECORDSÆT OG TILFÆLDIGT UDVÆLGER EN AD DEM -->

<p>Dette er en ny ASP fil til at kalde en database og lave random udvælgelse af
tarotkortene</p>

<!-- DETTE ER KODEN TIL AT OPRETTE MIN DATABASE -->
create database Tarotkort
create table Kortene
(
  Kortnr        integer,
  Forklaring    varchar(500)
)
insert into Kortene
  (Tarotkortet, Hvad kortet betyder)
  values (taortkort_1.gif, 'så skriver jeg heriforklaringen til kortet),
  values (taortkort_2.gif, 'så skriver jeg heriforklaringen til kortet),
  values (taortkort_3.gif, 'så skriver jeg heriforklaringen til kortet)
<!-- Etc. for de andre tarotkort -->

<!-- HEREFTER LAVER JEG SÅ EN ASP FIL SOM JEG KALDER TRÆK ET TAROTKORT OG INDSÆTTER FØLGENDE KODE -->

<!-- <html>
<head>
<title>ASP FIL - TRÆK ET TAROTKORT</title>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
</head>
<body>
<%
' random record
If Not(rsRandom.bof and rsRandom.eof) Then
If (rsRandom.CursorType > 0) Then
rsRandom.MoveFirst
Else
rsRandom.Requery
End If

rsRandom_totalrn = -1
rsRandom_totalrn = rsRandom.RecordCount
If (rsRandom_totalrn = -1) Then

rsRandom_totalrn=0
While (Not rsRandom.EOF)
rsRandom_totalrn = rsRandom_totalrn + 1
rsRandom.MoveNext
Wend

If (rsRandom.CursorType > 0) Then
rsRandom.MoveFirst
Else
rsRandom.Requery
End If

End If

rsRandom_totalrn = rsRandom_totalrn - 1
If rsRandom_totalrn > 0 Then
Randomize
rsRandom.Move Int((rsRandom_totalrn + 1) * Rnd)
End If
End If
%>
<% If Not rsRandom.EOF Or Not rsRandom.BOF Then %>
<img src="random_gfx/<%=(rsRandom.Fields.Item("dit_db_felt").Value)%>">
<% End If %>

<TABEL><TR><TD>HER FREMKOMMER SELVE BILLEDET</TD><TD>HER FREMKOMMER TEKSTEN</TD>
<TR>HER ER KNAPPEN MAN SKAL TRYKKE PÅ FOR AT TRÆKKE ET TILFÆLDIGT KORT</TR></TABEL>

</body>
</html>-->
Avatar billede herberth Juniormester
17. december 2002 - 21:13 #11
spørgsmålet lukkes
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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