Jag har ett script som slumpar ut skämt från databasen, men nu är det som så at jag vill att detta script skall hämta ett skämt per dag, dvs ett nytt skämt för varje ny dag...
så här ser min kod ut:
<%
' Här skapar vi en dsn-less connection mot qoute
Set Connect=server.CreateObject("adodb.connection")
DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtemp=dsntemp & "DBQ=" & server.mappath("databasen.mdb")
Connect.Open DSNtemp
'Vi slumpar fram ett skämt och skriver ut det.
Set RS_count = Connect.Execute ("SELECT COUNT(*) AS count FROM skämt")
Randomize
wisdom = INT(RND*RS_count("count"))
Set r=Connect.Execute("SELECT * FROM skämt")
r.Move wisdom
Response.Write r("skamt")
'Vi stänger databasen
Connect.close
Set Connect=nothing
%>
------------------
"Det starka är inte att aldrig kunna falla, det starta är att kunna resa sig efter ett fall"
Du får spara datum och skämtet i en application-variabel och kontrollera datumet mot dagens datum.
<%
if cdate(application("jokedate")) <> date then
' Här skapar vi en dsn-less connection mot qoute
Set Connect=server.CreateObject("adodb.connection")
DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtemp=dsntemp & "DBQ=" & server.mappath("databasen.mdb")
Connect.Open DSNtemp
'Vi slumpar fram ett skämt och skriver ut det.
Set RS_count = Connect.Execute ("SELECT COUNT(*) AS count FROM skämt")
Randomize
wisdom = INT(RND*RS_count("count"))
Set r=Connect.Execute("SELECT * FROM skämt")
r.Move wisdom
application.lock
application("jokedate") = date
application("joke") = rs("skamt")
application.unlock
'Vi stänger databasen
Connect.close
Set Connect=nothing
end if
%>
response.write application("joke")
------------------ essentitia preter non sans multiplicandum
hmmm... alltså i tabellen ska jag ha 3st kolumner, ID, Skämt och datum
och varje skämt ska ha ett datum 2002-01-01 nästa skämt datumet 2002-01-02 osv. eller hur ska man gå tillväga för det blir rätt så jobbigt att skriva in 365skämt och datumet för varje skämt...
------------------
"Det starka är inte att aldrig kunna falla, det starta är att kunna resa sig efter ett fall"
Det kvittar. Eftersom dagens datum inte är detsamma som 2001-01-01 kommer det automatiskt att slumpas fram ett nytt skämt. Men om nu dagens datum skulle vara detsamma som 2001-01-01 så tas skämtet från Applcation-variabeln.
------------------ "Tål det inte att skämtas om, är det inte värt att ta på allvar."
Så här ser min tabell i databasen ut:
Tabellens namn är kunskap och kolumnerna är ID, kunskap, datum
och så här ser kopplingen ut:
<%
if cdate(application("datum")) <> date then
' Här skapar vi en dsn-less connection mot qoute
Set Connect=server.CreateObject("adodb.connection")
DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtemp=dsntemp & "DBQ=" & server.mappath("databasen.mdb")
Connect.Open DSNtemp
'Vi slumpar fram ett skämt och skriver ut det.
Set RS_count = Connect.Execute ("SELECT COUNT(*) AS count FROM kunskap")
Randomize
wisdom = INT(RND*RS_count("count"))
Set r=Connect.Execute("SELECT * FROM kunskap")
r.Move Visdom
application.lock
application("datum")= date
application("kunskap") = rs("kunskap")
application.unlock
'Vi stänger databasen
Connect.Close
Set Connect=nothing
End if
Jag får det inte att fungera jag har listat upp några grejer i databasen, till varje ID har jag en kunskapstext och sedan ett datum, men det fungerar ju inte... Den skriver inte ut ngt från databasen...
------------------
"Det starka är inte att aldrig kunna falla, det starta är att kunna resa sig efter ett fall"
heheh, har gjort det till rent Engelska dvs bytt ut V mot W men den skriver fortfarande inte ut ngt från databasen, jag får varken ngt felmeddelande lr ngt annat rutan blir bara tom
------------------
"Det starka är inte att aldrig kunna falla, det starta är att kunna resa sig efter ett fall"