Avatar billede gurvic Nybegynder
09. december 2003 - 17:15 Der er 4 kommentarer og
1 løsning

skift ved ny dag

har lige et forhåbentlig simpelt spørgsmål som jeg ikke kan hitte ud af:
Jeg skal lave en funktion der hver dag kl. 00.00 skifter til en ny post fra min db. Jeg har en random der henter fra db, men hvordan får jeg den til at gøre det når en ny dag starter?

håber i forstår hvad jeg mener
Avatar billede gurvic Nybegynder
09. december 2003 - 19:53 #1
ok har nu roddet med det en masse timer og tror jeg har denne løsning:

<%
if session("dag") = "" then
session("dag") = date
end if

if session("dag") <> date then
session("opskrift") = ""
end if

if session("opskrift") = "" then

set Conn = Server.CreateObject("ADODB.Connection")
DSN = "Driver={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("opskrifter.mdb")
Conn.Open DSN


Set rs = Server.CreateObject("ADODB.RecordSet")
SQL = "SELECT * FROM opskrift"
rs.Open SQL, Conn, 3, 1
rndMax = rs.RecordCount
Randomize
rndNumber = Int((RND * rndMax))  'Find et random nummer
rs.Move rndNumber 'Flyt til den valgte record
response.write rs("opskriftid")
session("opskrift") = rs("opskriftid")
rs.Close
Conn.Close
set Conn=Nothing
set rs=Nothing
session("dag") = date

else


set Conn = Server.CreateObject("ADODB.Connection")
DSN = "Driver={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("opskrifter.mdb")
Conn.Open DSN


Set rs = Server.CreateObject("ADODB.RecordSet")
SQL = "SELECT * FROM opskrift where opskriftid = " & session("opskrift") & ""
rs.Open SQL, Conn, 3, 1

response.write rs("opskriftid")

rs.Close
Conn.Close
set Conn=Nothing
set rs=Nothing
session("dag") = date

end if
%>

er der nogen der kan gennemskue om det gør det at den finder en random dagens ret hver dag?
Avatar billede eagleeye Praktikant
10. december 2003 - 11:10 #2
Hvis du bruger Acess så kan man ikke lave sådan den automatisk klokken 00:00 laver en ny random post. Det du kan gøre er at havde en tabel som hvori du gemme den random-post som skal vises samt datoen.

Den side som viser den random-post hender så ID og datoen. Er datoen mindre end idag så find en ny random post og gemt det nye ID samt dato i tabellen.
Avatar billede eagleeye Praktikant
10. december 2003 - 11:12 #3
Ved at gemme det i session vil hver enkelt bruger få vist hver sin random post men kun så længe man er på siden, hvis man lukker browseren og åbenr den igen vil man få en ny post.

Du kan lave dit kode om så de gemmer det i Application variablen i stedet for sessions variablen så er det ens for alle brugerne..

Du retter bare session til Application.
session("dag") = date
bliver til:
application("dag") = date
Avatar billede gurvic Nybegynder
10. december 2003 - 11:44 #4
takker for svar. Tror jeg holder mig til din første ide med en tabel til det, det må vist være det mest smarte i det her tilfælde.
Super mange gange takker for hjælpen, smider du lige et svar?
Avatar billede eagleeye Praktikant
10. december 2003 - 16:30 #5
Ok, ja det gør jeg da ;)
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