Avatar billede azs Nybegynder
25. januar 2001 - 01:30 Der er 15 kommentarer og
1 løsning

Counter

Hvordan kan man lave en counter som counter alle count dag, igår, uge, månede og alle count ?

Der må gerne laves et eksempel !
Avatar billede azs Nybegynder
25. januar 2001 - 01:31 #1
Der må gerne bruges en Access Database !
Avatar billede azs Nybegynder
25. januar 2001 - 13:47 #3
Det er nu ikk lige det jeg vil !

Jeg ville kunne counte alle hits fre -idag, igår, uge, månede og alle count!

Jeg er lige glad med hvilken referent, browser, sprog så jeg kan ikk bruge denne source !

Er der andre ???
Avatar billede kasseper Nybegynder
30. januar 2001 - 08:56 #4
Det du gerne vil ha\' er det en en counter der tæller hits, fra idag, sidste 2 dage, sidste 7 dage, sidste 31 dage og totalt.....?
Avatar billede kasseper Nybegynder
30. januar 2001 - 08:57 #5
Jeg spørger for at løse problemet, hvis man nu er i den 15 juni, hvordan ser tælleren så ud, for måned ??? er det sidste 15 dage, eller er det tilbage til 15 maj ???
Avatar billede azs Nybegynder
31. januar 2001 - 22:57 #6
kasseper -> Til det første du siger = ja

men hvaa mener du med: ?
< Jeg spørger for at løse problemet, hvis man nu er i den 15 juni, hvordan ser tælleren så ud, for måned ??? er det sidste 15 dage, eller er det tilbage til 15 maj ???  >
Avatar billede kasseper Nybegynder
01. februar 2001 - 12:57 #7
OK, så er jeg tilbage, jeg havde lige et lille tilfælde med ADMIN, jeg var sq blevet kick\'et, men er tilbage for fuld styrke, anyway det er en anden historie.....
Jo, det jeg vil vide, er at når man se counteren for 1 måned, og det f.eks. i dag er d. 15 juni, skal man så se for juni eller for juni og halvdelen af maj.
Men det har du sådan set svaret på med dit første JA.
Så har jeg lige et andet spøgsmål :
Man må godt bruge en Access base, siger du, jeg kunne tænke mig at der så skulle være en tabel der se sådan her ud :
HitTabel :

Dato  | Hits
--------------------
1/12  | 78
2/12  | 45
3/12  | 784

Således at der er en post for hver dag, vil det være iorden....?
Avatar billede azs Nybegynder
02. februar 2001 - 13:48 #8
Hvis tabellen skal være sådan som du siger - vil det så ikke køre ret ustabilt når der er mange datoer i ?

Det jeg nu selv havde forstillede mig er at man laver en tabel som ser sådan ud!

Dato | Idag | Igår | Månede | År | Total

og så hver gang datoen er en dag mere end f.eks. d.2/2-2001 vil den nulstille \"Idag\" og så når datoen er f.eks. 4/2-2001 vil den nulstille \"Igår\" osv..

Nu håber jeg du forstår !
Avatar billede kasseper Nybegynder
02. februar 2001 - 14:00 #9
Problemet kommer så bare når det er komulerede hits, altså når du har en uge eller en måned, for hverdag skal du jo så slette dem der kom ind for præcis 31 dage siden....

Det man kan gøre er bruge mit tabel layout også slette datoer der over en måned gammel når man opdatere....Desuden tror jeg du skal mange (læs: MANGE MANGE MANGE ) år frem i tiden inden at den ville blive ustabil.
Jeg har lavet et system med 1 kæmpe tabel, med over 200.000 records i og gevaligt mange felter, og den kører bare derudaf.......
Avatar billede azs Nybegynder
02. februar 2001 - 14:03 #10
Ok så gør vi det på din måde !

Vil du lave et eksemple ?

så send det til

azs@ofir.dk
Avatar billede kasseper Nybegynder
02. februar 2001 - 14:06 #11
Jeg vil gerne lave et eksempel og sende det til dig, men jeg vil også poste det her, da det jo er et åbent forum, håber du er indforstået.....
Der går lige lidt, kan godt være det først kommer mandag...
Avatar billede azs Nybegynder
02. februar 2001 - 14:08 #12
Det er helt ok med mig !

Jeg har bare prøvet før at der var lidt fejl en en kode pga. det var posted i et forum !

Og det er fint med mig hvis det kommer på mandag !
Avatar billede kasseper Nybegynder
02. februar 2001 - 14:09 #13
Men skulle du også bruge en for År ???
var det ikke dag, igår, uge, månede og total ?????
Avatar billede azs Nybegynder
02. februar 2001 - 14:10 #14
Der skal ikke være en for ÅR !
Avatar billede kasseper Nybegynder
07. februar 2001 - 11:47 #15
Så er den her....tadaaaaa:
Du skal oprette en Access database, der hedder hits.mdb
Den skal oprette flg. tabeller :

Total
-----
Total  - tal  : primærnøgle


DateHits
--------
ID      - autonummerering : primærnøgle
Dato    - Dato og klokkeslet
Hits    - tal


Denne skal gemmes i samme bibl. hvor du vil have din counter.asp fil....
og din global.asa fil, som skal være som flg. :
*************************************************************************************************
GLOBAL.ASA :
*************************************************************************************************
<SCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVER>
Sub Application_OnStart
End Sub
Sub Application_OnEnd
End Sub

Sub Session_OnStart
Session.Timeout = 1
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>
*************************************************************************************************



Din Counter.asp fil

*************************************************************************************************
COUNTER.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
%>
<html>
<head>
    <title>My Counter</title>
</head>
<body>
<table border=\"2\">
    <tr>
        <td bgcolor=\"lightgrey\" width=\"100\">
            Counter :
        </td>
        <td bgcolor=\"lightgrey\" width=\"100\">
            Hits :
        </td>
    </tr>
    <tr>
        <td>
            Total :
        </td>
        <td>
            <%= total %>
        </td>
    </tr>
    <tr>
        <td>
            Idag :
        </td>
        <td>
            <%= dag %>
        </td>
    </tr>
    <tr>
        <td>
            Sidste 2 dage :
        </td>
        <td>
            <%= dagt %>
        </td>
    </tr>
    <tr>
        <td>
            Sidste uge :
        </td>
        <td>
            <%= dags %>
        </td>
    </tr>
    <tr>
        <td>
            sidste måned :
        </td>
        <td>
            <%= dage %>
        </td>
    </tr>
</table>
</body>
</html>
*************************************************************************************************


Ja altså counter.asp er jo bare et eksempel på hvordan du trækker dine hits ud....
OG en lille detalje. I global.asa står Session.timeout til 1, hvilket vil sige at hvis brugeren har siddet i et minut og så trykker på opdater, så kommer der et hit mere.
Den skal du nok sætte lidt op, så der ikke kommer falske hits....

Kasseper
Avatar billede azs Nybegynder
09. februar 2001 - 21:06 #16
Den virker nu ikke som jeg ville ha den til men skit !

Du får point\'ne !
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