Avatar billede mjall0w Nybegynder
26. april 2003 - 15:29 Der er 41 kommentarer og
1 løsning

Udskriv 10 datoer og derefter tjek måned

Hej.
Det er egentlig 2 spørgsmål det her:
1: Jeg mangler en kode så når den har udskrevet 10 datoer laver den et break of forstsætter på den nye linie!!

2: Den indskriver i databasen under dato 04-07-2003, kan man ikke lave et script der læser 07 og derefter finder ud af hvad 07 er for en måned med en if sætning (som jeg godt selv kan lave :) )

/Mjall0w-
Avatar billede medions Nybegynder
26. april 2003 - 15:40 #1
Har du en koder der udskriver de datoer?

//>Rune
Avatar billede mortrr Praktikant
26. april 2003 - 15:40 #2
1.
taeller=0
do while not rs.eof
  if taeller=10 then
    Response.Write "<br>"
    taeller=0
  end if
  response.Write dato
  rs.MoveNext
loop

2. Hvis det er en dato du har i databasen, er det også en dato når du lægger det over i en variabel.
Herefter kan du bruge Month funktionen til at aflæse måneden, og så evt monthname (som regel på engelsk) eller et array til at få navnet.
Datoen=rs("datoen").value
Response.Write MonthName(Month(Datoen))
if Month(Datoen)=12 then
  Response.Write " Det er koldt der ude"
end if
Avatar billede mortrr Praktikant
26. april 2003 - 15:41 #3
1. Mangler lige at tælle op  ;-)
taeller=0
do while not rs.eof
  taeller=taeller+1
  if taeller=10 then
    Response.Write "<br>"
    taeller=0
  end if
  response.Write dato
  rs.MoveNext
loop
Avatar billede mcgreed Nybegynder
26. april 2003 - 15:43 #4
Angående 10 datoer og break, så gør dette:
x=1
for rowcounter = 0 to Ubound(myData) <--- eller hvordan du nu henter data
  Response.Write strDato & " "
  x=x+1
  if x=11 then
    x=1
    Response.Write "<BR>"
  end if
Next

Angående det med hvordan dato skal være, så har jeg lavet dette lille script som jeg har lagt i en include fil, som hjælper mig en del:

    ' #### BEGIN ##########################################
    ' ## Declare Month , Weekday Variables              ##
    ' ## (x,1) = Danish, (x,2) = English, (x,3) = German ##
    ' #####################################################
    Dim Const_Var_Month(12,3)
    Const_Var_Month(1,1)        = "Januar"
    Const_Var_Month(2,1)        = "Februar"
    Const_Var_Month(3,1)        = "Marts"
    Const_Var_Month(4,1)        = "April"
    Const_Var_Month(5,1)        = "Maj"
    Const_Var_Month(6,1)        = "Juni"
    Const_Var_Month(7,1)        = "Juli"
    Const_Var_Month(8,1)        = "August"
    Const_Var_Month(9,1)        = "September"
    Const_Var_Month(10,1)    = "Oktober"
    Const_Var_Month(11,1)    = "November"
    Const_Var_Month(12,1)    = "December"
    Const_Var_Month(1,2)        = "January"
    Const_Var_Month(2,2)        = "Febuary"
    Const_Var_Month(3,2)        = "March"
    Const_Var_Month(4,2)        = "April"
    Const_Var_Month(5,2)        = "May"
    Const_Var_Month(6,2)        = "June"
    Const_Var_Month(7,2)        = "July"
    Const_Var_Month(8,2)        = "August"
    Const_Var_Month(9,2)        = "September"
    Const_Var_Month(10,2)    = "October"
    Const_Var_Month(11,2)    = "November"
    Const_Var_Month(12,2)    = "December"
    Const_Var_Month(1,3)        = "Januar"
    Const_Var_Month(2,3)        = "Februar"
    Const_Var_Month(3,3)        = "März"
    Const_Var_Month(4,3)        = "April"
    Const_Var_Month(5,3)        = "Mai"
    Const_Var_Month(6,3)        = "Juni"
    Const_Var_Month(7,3)        = "Juli"
    Const_Var_Month(8,3)        = "August"
    Const_Var_Month(9,3)        = "September"
    Const_Var_Month(10,3)    = "Oktober"
    Const_Var_Month(11,3)    = "November"
    Const_Var_Month(12,3)    = "Dezember"

    Dim Const_Var_Weekday(7,3)
    Const_Var_Weekday(1,1)    = "Søndag"
    Const_Var_Weekday(2,1)    = "Mandag"
    Const_Var_Weekday(3,1)    = "Tirsdag"
    Const_Var_Weekday(4,1)    = "Onsdag"
    Const_Var_Weekday(5,1)    = "Torsdag"
    Const_Var_Weekday(6,1)    = "Fredag"
    Const_Var_Weekday(7,1)    = "Lørdag"
    Const_Var_Weekday(1,2)    = "Sunday"
    Const_Var_Weekday(2,2)    = "Monday"
    Const_Var_Weekday(3,2)    = "Tuesday"
    Const_Var_Weekday(4,2)    = "Wednesday"
    Const_Var_Weekday(5,2)    = "Thursday"
    Const_Var_Weekday(6,2)    = "Friday"
    Const_Var_Weekday(7,2)    = "Saturday"
    Const_Var_Weekday(1,3)    = "Sonntag"
    Const_Var_Weekday(2,3)    = "Montag"
    Const_Var_Weekday(3,3)    = "Dienstag"
    Const_Var_Weekday(4,3)    = "Mittwoch"
    Const_Var_Weekday(5,3)    = "Donnerstag"
    Const_Var_Weekday(6,3)    = "Freitag"
    Const_Var_Weekday(7,3)    = "Samstag"
    ' #####################################################
    ' ## Declare Month , Weekday Variables              ##
    ' ## (x,1) = Danish, (x,2) = English, (x,3) = German ##
    ' #### END ############################################


    ' #### BEGIN #######################
    ' ## Generat "Full Date"-function ##
    ' ##################################
    function FullDate(whichDateTime, whichLanguage, whichFormat)
        ' #########################################################################################
        ' ## whichDateTime  = The date which is to be converted                                  ##
        ' ## whichLanguage  = 1: Danish, 2: English - names for month & weekdays                ##
        ' ## whichFormat    = String with filter:                                                ##
        ' ##  %WD = Weekday, %D = Day, %MS = Monthname (Short), %ML = Monthname (Long)          ##
        ' ##  %M = Month, %Y = Year, %TH = Hour, %TM = Minutes, %TS = Seconds                  ##
        ' ##  Example: strTime=FullDate(Now(),2,"%D. %ML, %Y")  returns  "12. July, 2001"      ##
        ' #########################################################################################
        Func_Temp_Date=""
        whichLanguage = CInt(whichLanguage)
        If Not whichDateTime&""="" AND Not whichFormat&""="" AND IsDate(whichDateTime&"")=true AND (whichLanguage=1 OR whichLanguage=2) Then
            whichDateTime=MediumDateTime(whichDateTime,1)
            If whichLanguage=1 Then
                Func_Temp_Date=Replace(whichFormat, "%WD",Const_Var_Weekday(Weekday(whichDateTime),1),1,-1,1)
                Func_Temp_Date=Replace(Func_Temp_Date, "%MS",Left(Const_Var_Month(Month(whichDateTime),1),3),1,-1,1)
                Func_Temp_Date=Replace(Func_Temp_Date, "%ML",Const_Var_Month(Month(whichDateTime),1),1,-1,1)
            else
                Func_Temp_Date=Replace(whichFormat, "%WD",Const_Var_Weekday(Weekday(whichDateTime),2),1,-1,1)
                Func_Temp_Date=Replace(Func_Temp_Date, "%MS",Left(Const_Var_Month(Month(whichDateTime),2),3),1,-1,1)
                Func_Temp_Date=Replace(Func_Temp_Date, "%ML",Const_Var_Month(Month(whichDateTime),2),1,-1,1)
            end if
            Func_Temp_Date=Replace(Func_Temp_Date, "%D",Day(whichDateTime),1,-1,1)
            Func_Temp_Date=Replace(Func_Temp_Date, "%M",Month(whichDateTime),1,-1,1)
            Func_Temp_Date=Replace(Func_Temp_Date, "%Y",Year(whichDateTime),1,-1,1)
            Func_Temp_Date=Replace(Func_Temp_Date, "%TH",FixedNumbers(Hour(whichDateTime),2),1,-1,1)
            Func_Temp_Date=Replace(Func_Temp_Date, "%TM",FixedNumbers(Minute(whichDateTime),2),1,-1,1)
            Func_Temp_Date=Replace(Func_Temp_Date, "%TS",FixedNumbers(Second(whichDateTime),2),1,-1,1)
        else
            Func_Temp_Date="*invalid date/time*"
        end if
        FullDate=Func_Temp_Date
    end function
    ' #### END #########################
    ' ## Generat "Full Date"-function ##
    ' ##################################

    ' #### BEGIN #######################
    ' # Add x Zeros in front of number #
    ' ##################################
    Function FixedNumbers(whichNumber, amountDigitals)
        ' #####################################################
        ' # whichNumber    = What number to check/convert    #
        ' # amountDigitals = How many numbers should be shown #
        ' #####################################################
        Func_Temp_Number=whichNumber
        If Not Len(Func_Temp_Number&"")>=amountDigitals Then
            Func_Temp_Number=String(amountDigitals-Len(Func_Temp_Number),"0")&Func_Temp_Number
        end if
        FixedNumbers=Func_Temp_Number
    End Function
    ' #### END #########################
    ' # Add x Zeros in front of number #
    ' ##################################


Håber at du kan bruge det :)
Avatar billede mjall0w Nybegynder
26. april 2003 - 15:53 #5
hehe jo tror jeg godt kan jeg kan ;)
Kigger lige på det lidt senere

/Mjall0w-
Avatar billede mjall0w Nybegynder
26. april 2003 - 15:57 #6
Men det der Ubound(myData) hvad skal det gøre godt for ??

/Mjall0w-
Avatar billede mjall0w Nybegynder
26. april 2003 - 16:11 #7
Jeg indsatte bare strSQL istedet for, men nu får jeg en fejl:
Microsoft VBScript runtime error '800a000d'

Type mismatch: 'Ubound'

/test.asp, line 20

--------------------------
/Mjall0w-
Avatar billede mortrr Praktikant
26. april 2003 - 16:19 #8
UBound returnerer hvor mange elementer der er i et array.
mcgreed bruger normalt getRows til at hente hele recordsettet på en gang over i et array.
Du skal kun bruge uBound hvis du gør det på samme måde

conn.Open
Set rs=Conn.Execute(strSQL)
myData=rs.getRows
for rowcounter = LBound(myData) to Ubound(myData)
Avatar billede mjall0w Nybegynder
26. april 2003 - 16:23 #9
Hmm jeg gav dig da kun 10 point, strange.. Kan du ikke dele dem med mcgreed når jeg har fået det til at virke ??
Nå okay, men mit script ser nu sådan her ud:
<%
      Const adOpenKeyset = 1
Const adLockOptimistic = 3
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("hits.mdb") & ";UID=admin;PWD=;"

    Set rs = Server.CreateObject("ADODB.RecordSet")
    strSQL = "Select * From datehits"
    rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic  %>


<html>
<head>
</head>
<body bgcolor="#FFFFFF">
<div align="center">
  <% 'Do Until rs.EOF %>
<%
myData=rs.getRows
x=1
for rowcounter = 0 to Ubound(myData)
      Response.Write "<table style='border-bottom: 1 dotted #000000; border-right: 1 dotted #000000; border-top: 1 dotted #000000; border-left: 1 dotted #000000; width='348' cellpadding='0' cellspacing='0' align='left' border='0' height='8' width='110'>"
    Response.Write "    <tr> "
    Response.Write "      <td style='border-bottom: 1 dotted #000000; FONT-SIZE: 7pt; FONT-FAMILY: verdana' width='146' height='7'><div align='center'>"&rs("hits")&"</div>"
    Response.Write "      </td>"
    Response.Write "    </tr>"
    Response.Write "    <tr> "
    Response.Write "      <td style='FONT-SIZE: 7pt; FONT-FAMILY: verdana' width='146' height='2'><div align='center'>"&rs("dato")&"</div></td>"
    Response.Write "    </tr>"
    Response.Write "  </table>"

  x=x+1
  if x=4 then
    x=1
response.write "<br>"
  end if
Next

' rs.MoveNext
'Loop
%>

 
 

</div>
</body>
</html>

og i kan se det på www.eSports-Magazine.net/test.asp'

/Mjall0w-
Avatar billede mortrr Praktikant
26. april 2003 - 16:30 #10
Når du bruger getRows, skal du ikke bagefter bruge rs til at hente data, men MyData

Fx:
    Response.Write "      <td style='border-bottom: 1 dotted #000000; FONT-SIZE: 7pt; FONT-FAMILY: verdana' width='146' height='7'><div align='center'>" & MyData(rowcounter,0) & "</div>"

Men det forudsætter at kolonne 0 indeholder hits.
Avatar billede mortrr Praktikant
26. april 2003 - 16:31 #11
Men med den måde du viser data på, hvordan hænger det sammen med at du ville have 10 dato på en linie, og så et linieskift?
Avatar billede mortrr Praktikant
26. april 2003 - 16:50 #12
Avatar billede mjall0w Nybegynder
26. april 2003 - 16:59 #13
Hmm nu går jeg bare endnu en ny fejl..
Microsoft VBScript runtime error '800a0009'
Subscript out of range: 'myData'

/test.asp, line 24
Linie 24:     Response.Write "      <td style='border-bottom: 1 dotted #000000; FONT-SIZE: 7pt; FONT-FAMILY: verdana' width='146' height='7'><div align='center'>"&myData("hits")&"</div>"

/Mjall0w-
Avatar billede mortrr Praktikant
26. april 2003 - 17:15 #14
Du læser ikke så godt ;-)

myData er et array, ikke et recordset.

Du bruger rowcounter (fx) til at læse rækker via indeks 2, og kolonner via indeks 1.
(Kan se jeg lige fik byttet om på det ovenfor - jeg skriver lige så godt som du læser)

MyData(0,rowcounter) giver første kolonne.
MyData(1,rowcounter) giver anden kolonne.
Avatar billede oasen Nybegynder
26. april 2003 - 20:48 #15
"Du læser ikke så godt - jeg skriver lige så godt som du læser"

Måske der er en sammenhæng... Undskyld, kunne ikke lade være.. ;)
Avatar billede mjall0w Nybegynder
26. april 2003 - 22:42 #16
Ahh sådan nu funger det..
Nu mangler jeg bare lige at dele det op så dem der står f.eks 05-01-2003 kommer til at stå under Januar ;)
Avatar billede mjall0w Nybegynder
27. april 2003 - 07:20 #17
Hmm kan ikke helt rigtigt se logikken i det der med datoen..
Hvis jeg nu har en kolonne hvor der står 08-02-2003 hvordan får jeg den så lagt ind under februar ??

/Mjall0w-
Avatar billede mjall0w Nybegynder
27. april 2003 - 07:47 #18
Hmm jeg får også den fejl at den kun udskriver 3 fra min db og alle de andre..!!
Kan man ikke lave <% for rowcounter = 0 to Ubound(myData) %>
om til <% for rowcounter = 0 to Ubound(rs) %>
eller lignende ??

/Mjall0w-
Avatar billede mortrr Praktikant
27. april 2003 - 13:08 #19
Er du ude efter at have en kolonne i tabellen for hver måned?
Så alle fra hver måned står under hinanden?

(du har jo ikke noget med opdeling i måneder i det nuværende)
Avatar billede mjall0w Nybegynder
27. april 2003 - 13:16 #20
Ja altså jeg har tænkt mig sådan her:

Marts : [Dato|Hits][Dato|Hits] (og sådan foresætter den til måneden er forbi)

Det er egentligt bare det jeg har tænkt mig

/Mjall0w-
Avatar billede mortrr Praktikant
27. april 2003 - 13:29 #21
Jeg viser den lige med do while not rs.EOF, da det er lidt nemmere at vise:

strSQL = "Select * From datehits ORDER BY Dato"
rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic 
CurMonth=0
Response.Write "<table>"
Do while not rs.EOF
  if CurMonth<>Month(rs("Dato").Value) then
    Response.Write "<tr><td>" & MonthName(Month(rs("Dato").Value)) & "</td>"
    CurMonth=Month(rs("Dato").Value)
  end if
  Response.Write "<td>" & rs("Dato").Value & ": " & rs("Hits").Value & "</td>"
  rs.MoveNext
loop
Response.Write "</table>"
rs.Close

MonthName giver dig "system-navnet" for måneden.
Hvis det er på engelsk, og du gerne vil have det på dansk, skal du selv lave et array med månederne:
MaanedNavne = Split("januar,Februar,marts,April,....",",")
og
    Response.Write "<tr><td>" & MaanedNavne(Month(rs("Dato").Value)) & "</td>"
Avatar billede mjall0w Nybegynder
27. april 2003 - 14:07 #22
Jo præcist sådan der..
Meen gør den så også sådan at den breaker når der kommer en ny måned ??

/Mjall0w-
Avatar billede mortrr Praktikant
27. april 2003 - 14:22 #23
Ja - CurMonth indeholder den sidst viste måned.
Hvis den ikke svarer til den der står i den aktuelle post, udskrives månedsnavnet i en ny <tr.
Avatar billede mjall0w Nybegynder
27. april 2003 - 14:33 #24
Okay godt nok, meen har bare stadig det problem at der skal laves et break når den når et vis antal for ellers kommer der scroll på og går ud over siden..
Har prøvet at indsætte break men kan ikke lige finde ud af hvor jeg skal sætte x værdierne henne

/Mjall0w-
Avatar billede mortrr Praktikant
27. april 2003 - 14:40 #25
Hvis du holder dig til det med at have det i en tabel, så kunne du nulstille tælleren hver måned, som fx:

strSQL = "Select * From datehits ORDER BY Dato"
rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic 
CurMonth=0
Response.Write "<table>"
Do while not rs.EOF
  if CurMonth<>Month(rs("Dato").Value) then
    Response.Write "<tr><td>" & MonthName(Month(rs("Dato").Value)) & "</td>"
    CurMonth=Month(rs("Dato").Value)
    Taeller=0
  end if
  Taeller=Taeller+1
  if Taeller=11 then
    Response.Write("<tr><td></td>")
    Taeller=1
  end if
  Response.Write "<td>" & rs("Dato").Value & ": " & rs("Hits").Value & "</td>"
  rs.MoveNext
loop
Response.Write "</table>"
rs.Close
Avatar billede mjall0w Nybegynder
27. april 2003 - 15:01 #26
Okay tak tak skulle bare ændre <tr><td></td> med <br><br>, men nu virker det mange tak :D

/Mjall0w-
Avatar billede mortrr Praktikant
28. april 2003 - 10:46 #27
mcgreed -> Der venter stadig 35 point på dig.
http://www.eksperten.dk/spm/345010
Avatar billede mortrr Praktikant
03. maj 2003 - 17:04 #28
mjall0w -> Det ser ikke ud til at mcgreed reagerer.
Vil du have pointene tilbage, så svar på det andet spørgsmål.
Avatar billede mjall0w Nybegynder
03. maj 2003 - 17:45 #29
Nej, det er lige meget du får dem bare..

/Mjall0w-
Avatar billede mortrr Praktikant
03. maj 2003 - 17:49 #30
Tak.
Avatar billede mjall0w Nybegynder
09. maj 2003 - 07:22 #31
Hmm ved godt at jeg fik det til at virke, men scriptet kom jeg til at overskrive (ikke så smart) og nu bruger jeg så koden:
CurMonth=0
Response.Write "<table>"
Do while not rs.EOF
  if CurMonth<>Month(rs("Dato").Value) then
    Response.Write "<tr><td>" & MonthName(Month(rs("Dato").Value)) & "</td>"
    CurMonth=Month(rs("Dato").Value)
  end if
  Response.Write "<td>" & rs("Dato").Value & ": " & rs("Hits").Value & "</td>"
  rs.MoveNext
loop
Response.Write "</table>"
rs.Close

Men den ser bare sådan her ud: www.eSports-Magazine.net og det er ikke så fedt

/Mjall0w-
Avatar billede mortrr Praktikant
09. maj 2003 - 09:38 #32
Mener du http://www.esports-magazine.net/test.asp ?

Det ser ud som om den gemmer datoen på hittene forkert.
Hvordan gemmer du det?
Avatar billede mjall0w Nybegynder
09. maj 2003 - 12:53 #33
Øh det ved jeg ikke lige.. Du kan hente DB'en her: www.eSports-Magazine.net/hits.mdb

Så kan du lige prøve at se den..

/Mjall0w-
Avatar billede mortrr Praktikant
09. maj 2003 - 14:31 #34
Jow - de står som hits den 5. Juli, 5. August, 5. September.

Du indsætter sikkert datoen som #07-05-2003#, men det opfattes af databasen som 5. juli.
Vend det om (manuelt) og skriv det som #2002-05-07#
... #" & Year(Datoen) & "/" & Month(Datoen) & "/" & Day(Datoen) & "#...

Eller lad databasen selv klare det:
rs=Conn.Execute("SELECT ID FROM DateHits WHERE Dato=Date")
if rs.EOF then
  Conn.Execute("INSERT INTO DateHits (Hits,Dato) VALUES (1,Date)")
else
  Conn.Execute("UPDATE DateHits SET Hits=Hits+1 WHERE Dato=Date")
end if
rs.Close
Avatar billede mjall0w Nybegynder
09. maj 2003 - 15:27 #35
Hmm det forstår jeg så ikke så meget af..
Kan man ikke bare lave om på det andet script som skriver Juli april osv ??

/Mjall0w-
Avatar billede mortrr Praktikant
09. maj 2003 - 17:48 #36
Nej.

Kunne du ikke bare vise den kode du bruger til at logge hits, så skal jeg nok lave den om.
Avatar billede mjall0w Nybegynder
09. maj 2003 - 20:00 #37
Hits.asp
-----------
  <%
DBPath = "DBQ=" & server.mappath("hits.mdb")
DBPath = "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
set MyConn = server.createobject("ADODB.connection")
MyConn.Open DBPath
Dim total,dag,dagt,dags,dage
SQL = "Select * from Total"
SQL1 = "Select Hits from DateHits where Dato = #" & date & "#"
SQL2 = "Select sum(Hits) as summen from DateHits where Dato > #" & date-2 & "#"
SQL7 = "Select sum(Hits) as summen from DateHits where Dato > #" & date-8 & "#"
SQL31 = "Select sum(Hits) as summen from DateHits where Dato > #" & date-32 & "#"
Set rs = MyConn.execute(SQL)
if NOT rs.EOF OR NOT rs.BOF then
total = rs("Total")
else
total = 0
end if
rs.close
set rs = Nothing
Set rs = MyConn.execute(SQL1)
if NOT rs.EOF OR NOT rs.BOF then
dag = rs("Hits")
else
dag = 0
end if
rs.close
set rs = Nothing
Set rs = MyConn.execute(SQL2)
if NOT rs.EOF OR NOT rs.BOF then
dagt = rs("summen")
else
dagt = 0
end if
rs.close
set rs = Nothing
Set rs = MyConn.execute(SQL7)
if NOT rs.EOF OR NOT rs.BOF then
dags = rs("summen")
else
dags = 0
end if
rs.close
set rs = Nothing
Set rs = MyConn.execute(SQL31)
if NOT rs.EOF OR NOT rs.BOF then
dage = rs("summen")
else
dage = 0
end if
'rs.close
'set rs = Nothing
'MyConn.Close
'Set MyConn = Nothing
%>

Global.asa
-------------
<SCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVER>
Sub Application_OnStart
End Sub
Sub Application_OnEnd
End Sub

Sub Session_OnStart
Session.Timeout = 1440
Application.Lock
DBPath = "DBQ=" & server.mappath("hits.mdb")
DBPath = "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
set MyConn = server.createobject("ADODB.connection")
MyConn.Open DBPath

SQL = "SELECT * FROM TOTAL"
Set rs = MyConn.execute(SQL)
Application("Total") = rs("Total")
rs.close
Set rs = Nothing
SQL = "UPDATE Total SET Total = " & (Application("Total")+1)
MyConn.execute(SQL)

SQL = "SELECT * from DateHits WHERE Dato = #" & date() & "#"
Set rs = MyConn.execute(SQL)
if NOT rs.EOF OR NOT rs.BOF then
Application("Hits") = rs("Hits")
else
Application("Hits") = 0
SQL = "INSERT INTO DateHits (Dato,Hits) VALUES (#" & date() & "#, 0)"
MyConn.execute(SQL)
end if
rs.close
Set rs = Nothing

SQL = "UPDATE DateHits SET Hits = " & (Application("Hits")+1) & " WHERE Dato = #" & date() & "#"
MyConn.execute(SQL)
Dim overmaaned
overmaaned = DateAdd("d", -32, date())
SQL = "DELETE FROM DateHits Where Dato < #" & overmaaned & "#"
MyConn.execute(SQL)
MyConn.Close
Set MyConn = Nothing
Application.Unlock
End Sub
Sub Session_OnEnd
End Sub
</SCRIPT>
--------------------
Skal lige siges der også er en login tjek i mener den står øverst..

/Mjall0w-
Avatar billede mortrr Praktikant
10. maj 2003 - 16:09 #38
Global.asa
-------------
<SCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVER>
Sub Application_OnStart
End Sub
Sub Application_OnEnd
End Sub

Sub Session_OnStart
Session.Timeout = 1440
Application.Lock
DBPath = "DBQ=" & server.mappath("hits.mdb")
DBPath = "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
set MyConn = server.createobject("ADODB.connection")
MyConn.Open DBPath

SQL = "SELECT * FROM TOTAL"
Set rs = MyConn.execute(SQL)
Application("Total") = rs("Total")
rs.close
Set rs = Nothing
SQL = "UPDATE Total SET Total = " & (Application("Total")+1)
MyConn.execute(SQL)

SQL = "SELECT * from DateHits WHERE Dato = Date()" ' Rettet
Set rs = MyConn.execute(SQL)
if NOT rs.EOF OR NOT rs.BOF then
Application("Hits") = rs("Hits")
else
Application("Hits") = 0
SQL = "INSERT INTO DateHits (Dato,Hits) VALUES (Date(), 0)" ' Rettet
MyConn.execute(SQL)
end if
rs.close
Set rs = Nothing

SQL = "UPDATE DateHits SET Hits = Hits+1 WHERE Dato = Date()" ' Rettet
MyConn.execute(SQL)
Dim overmaaned
overmaaned = DateAdd("d", -32, date())
SQL = "DELETE FROM DateHits Where Dato < DateAdd('d',-32,Date()) 'Rettet
MyConn.execute(SQL)
MyConn.Close
Set MyConn = Nothing
Application.Unlock
End Sub
Sub Session_OnEnd
End Sub
</SCRIPT>
--------------------
Avatar billede mortrr Praktikant
10. maj 2003 - 16:11 #39
Hits.asp
-----------
  <%
DBPath = "DBQ=" & server.mappath("hits.mdb")
DBPath = "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
set MyConn = server.createobject("ADODB.connection")
MyConn.Open DBPath
Dim total,dag,dagt,dags,dage
SQL = "Select * from Total"
SQL1 = "Select Hits from DateHits where Dato = Date()"
SQL2 = "Select sum(Hits) as summen from DateHits where Dato > DateAdd('d',-2,Date())"
SQL7 = "Select sum(Hits) as summen from DateHits where Dato > DateAdd('d',-8,Date())"
SQL31 = "Select sum(Hits) as summen from DateHits where Dato > DateAdd('d',-32,Date())"
Set rs = MyConn.execute(SQL)
if NOT rs.EOF OR NOT rs.BOF then
total = rs("Total")
else
total = 0
end if
rs.close
set rs = Nothing
Set rs = MyConn.execute(SQL1)
if NOT rs.EOF OR NOT rs.BOF then
dag = rs("Hits")
else
dag = 0
end if
rs.close
set rs = Nothing
Set rs = MyConn.execute(SQL2)
if NOT rs.EOF OR NOT rs.BOF then
dagt = rs("summen")
else
dagt = 0
end if
rs.close
set rs = Nothing
Set rs = MyConn.execute(SQL7)
if NOT rs.EOF OR NOT rs.BOF then
dags = rs("summen")
else
dags = 0
end if
rs.close
set rs = Nothing
Set rs = MyConn.execute(SQL31)
if NOT rs.EOF OR NOT rs.BOF then
dage = rs("summen")
else
dage = 0
end if
'rs.close
'set rs = Nothing
'MyConn.Close
'Set MyConn = Nothing
%>
Avatar billede mortrr Praktikant
10. maj 2003 - 16:13 #40
Det var først global.asa og derefter hits.asp, hvor jeg bare har flyttet datoerne ind i sql-sætningen.
I global.asa har jeg skrevet hvor der er rettet.
Avatar billede mjall0w Nybegynder
10. maj 2003 - 17:30 #41
Tak.. Så virker det igen, men min counter den blev bare stillet på 1 igen, for idag, men det går nok..
Avatar billede mjall0w Nybegynder
10. maj 2003 - 17:32 #42
Men det kan jeg jo altid rette i DB.. Men tak for hjælpen "genie" ;)
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