Avatar billede saos Nybegynder
26. marts 2003 - 21:18 Der er 23 kommentarer

hits per day?!?!?

jeg har lavet et site, hvor jeg på alle mine links kalder en goto.asp side, som henter linket i en database, og samtidig incrementere hits med 1, så jeg kan se, hvor mange der har været på de forskellige sider.

Mit problem er at jeg skal have udvidet det, så jeg kan se, hvor mange der har været inde på de forskellige sider per dag!

Dvs. at på den side jeg har lavet, hvor jeg kan se min statistik, skal der komme en tabel agtig ting op for alle dage som sitet har kørt.

Det skal være lavet dynamisk, så man ikke skal oprette en tabel for hver dag.

Er der nogle der kan hjælpe please!!!! Jeg kan sende filerne så man kan se nærmere!!

Jeg bruger en access database.

På forhånd tak!
Avatar billede bufferzone Praktikant
26. marts 2003 - 21:56 #1
Du skal så være opmærksom på at du sikkert får problemer men mange at de store søgemaskiner og at de derfor vil have svært ved at indexisere dig. Di risikere faktisk helt at ryge ud af deres index hvis du ikke laver disse dynamiske links meget forsigtigt og med stor omhu.
Jeg ville vælge en helt anden løsning hvis jeg var dig, f.eks at måle på hvor folk kommer fra, istedet for at måle på hvor de går hen
Avatar billede saos Nybegynder
26. marts 2003 - 22:00 #2
det gør ikke noget
Avatar billede ffn Nybegynder
26. marts 2003 - 22:50 #3
hvad med den gratis danske counter www.zipstat.dk

det bruger jeg på mit site, så slipper jeg for at rode med alt det der du snakker om og det er yders godt.

Du kan se et eks. på dens udemærket stats her
http://www.zipstat.dk/cgi-bin/zipstat/stats.cgi?brugernavn=pdamed&alle=vis
Avatar billede saos Nybegynder
26. marts 2003 - 23:04 #4
det må ikke være cgi!  det skal være asp... Ellers tak for hjælpen.
Avatar billede ffn Nybegynder
26. marts 2003 - 23:16 #5
det er heller ikke cgi - du indsætter noget javascript kode...

det andet zipstat er ikke mit site, så det med cgi du ser bliver kørt fra zipstat.dk
Avatar billede ffn Nybegynder
26. marts 2003 - 23:17 #6
det er en kode stump som denne du indsætter....

<!-- Start på ZIP Stat kode -->
<script language="JavaScript" type="text/javascript">
<!--
far="Andre"; jav="Ved ikke"; skh="Andre"; jav=navigator.javaEnabled();
ref=""+escape(top.document.referrer); nav=navigator.appName;
if (navigator.appName == "Netscape" && (navigator.appVersion.charAt(0) == "2" || navigator.appVersion.charAt(0) == "3")) {skriv=false;} else {skriv=true;}
if (skriv==true) { skh=screen.width + "x" + screen.height;
if (nav != "Netscape"){far=screen.colorDepth;} else {far=screen.pixelDepth;}
puri="brugernavn=pdamed&amp;version=150&amp;ssto="+skh+"&amp;referer="+ref+"&amp;colors="+far+"&amp;java="+jav+"&amp;js=true&amp;billed=trans";
document.write("<img height=\"1\" width=\"1\" border=\"0\" src=\"http://www.zipstat.dk/cgi-bin/zipstat/zipstat.cgi2?"+puri+"\" alt=\"\" align=left>"); }
//-->
</script> <noscript>
<img height="1" width="1" border="0" src="http://www.zipstat.dk/cgi-bin/zipstat/zipstat.cgi2?brugernavn=pdamed&amp;js=false&amp;billed=trans" alt="" align=left></noscript>
<!-- Slut på ZIP Stat kode -->
Avatar billede saos Nybegynder
26. marts 2003 - 23:20 #7
hvad så med alt det cgi og pearl han snakker om i installations vejledningen?
Avatar billede ffn Nybegynder
26. marts 2003 - 23:23 #8
det er hvis du vil køre det fra din egen server....altså install det...

du opretter dig som bruger, og genere den kode som du skal bruge koden er forskellige hvis du vil have en transperant counter, som jeg har valgt -  også har jeg i stedet lavet en iframe hvor staten vises på en speciel side
Du kan også vælge at få et ikon der viser alt mulig som

hits pr dag
hits i alt
bla. bla
Avatar billede ffn Nybegynder
26. marts 2003 - 23:24 #9
kig lidt på det...det er en fin dansk service der ikke koster noget og giver dig detaljeret statistik! Super må kodeordet være..
Avatar billede saos Nybegynder
26. marts 2003 - 23:30 #10
ahh ok nu er jeg "lidt" med... Skal man så
Avatar billede saos Nybegynder
26. marts 2003 - 23:31 #11
...jeg kigger på det!
Avatar billede ffn Nybegynder
26. marts 2003 - 23:34 #12
jeg svare lige hvis du skulel få lyst til at drysse points af...det er i hvert fald en suveræn counter - selvom det ikek helt var det du søgt :-)
Avatar billede sbm Nybegynder
27. marts 2003 - 09:46 #13
Der er flere muligheder. Du kan også bruge Chart.dk der - så vidt jeg ved - er den største af sin slags herhjemme. Så får du også din side smidt ind i en hitliste som sammenligner med andre sites af samme type, og det kan så i sig selv generere lidt trafik til din hjemmeside.
Avatar billede sbm Nybegynder
27. marts 2003 - 09:47 #14
Ellers kan jeg da også godt strikke lidt ASP sammen der laver det for dig. Hvor svært kan det være? (Prøver at lyde lidt kæk =)
Avatar billede sbm Nybegynder
27. marts 2003 - 09:48 #15
Ups. Chart.dk løser selvfølgelig ikke dit ønske med at se hvor mange der har være på HVER af dine side. Så bare se bort fra den.
Avatar billede sbm Nybegynder
27. marts 2003 - 09:51 #16
Du kan sagtens lave den form for statistik UDEN at bruge en goto.asp

Jeg strikker gerne et udkast sammen til dig, men det kan i så fald ikke blive før engang i weekenden. Jeg har ikke tid før.
Avatar billede saos Nybegynder
28. marts 2003 - 09:49 #17
Til sbm -> det må du meget gerne
Avatar billede ffn Nybegynder
28. marts 2003 - 09:51 #18
jamen, du får da ikke en lige så fed stats som zipstats.....kunne du ikke bruge den?
Avatar billede jhauge Nybegynder
28. marts 2003 - 18:05 #19
Jeg ville oprette en ekatra tabel i din DB - tabellen skal indeholde 3 felter: LinkID (ID på linket i linktabellen, dDate (Datofelt) og nCount (Tæller).

ASP koden kunne se sådan ud:

<%@ Language=VBScript %>
<!--#include file="adovbs.inc" -->
<%
    Sub AddCounter(ID)
        Dim cnxn, rs, sql
   
        ' Åbner connection
        Set cnxn = Server.CreateObject("ADODB.Connection")
        With cnxn
            .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=" & Server.MapPath("/db1.mdb") & ";"
            .Open
        End With
   
        ' Tæller op eller opretter ny tæller for dagen
        sql = "SELECT LinkFID FROM tblCounter WHERE dDate = Date() AND LinkFID = 1;"
        Set rs = cnxn.Execute sql, , adCmdText
        If Not (rs.BOF Or rs.EOF) Then
            ' Tælleren eksisterer for dagen, så vi tæller op
            sql = "UPDATE tblCounter SET nCount = nCount + 1 WHERE dDate = Date() AND LinkFID = " & ID & ";"
            cnxn.Execute sql, , adCmdText
        Else
            'Tælleren eksisterer ikke, så vi opretter en ny
            sql = "INSERT INTO tblCounter (LinkFID, dDate, nCount) VALUES (" & ID & ", Date(), 1)"
            cnxn.Execute sql, , adCmdText
        End If
        rs.Close
        Set rs = Nothing
   
        cnxn.Close
        Set cnxn = Nothing

    Function

    ' Variable --------------------------------------------------------------------------------------
    Dim cnxn, rs, sql
   
    ' Program ---------------------------------------------------------------------------------------
   
    ' Tæller op
    AddCounter Request("LinkID")
   
%>
Avatar billede saos Nybegynder
29. marts 2003 - 11:40 #20
Den på zipstat er fed nok, men den opfylder ikke mit behov.

Jhauge --> kan du uddybe det lidt nærmere.
Avatar billede jhauge Nybegynder
31. marts 2003 - 09:59 #21
Jep.

For det første - der er et par syntaks fejl i koden, jeg har rettet dem til i koden du finder nedenfor.

Ellers har jeg følgende kommentarer - Det interessante foregår i den Sub som jeg har kaldt AddCounter. Sub'en bliver kaldt længere ned i koden, hvor der står AddCounter Request("LinkID"), men det kan selvfølgelig være anderledes i dit tilfælde. Hvis du ikke har et unikt ID på hvert link, foreslår jeg du laver det i databasen, lav det med Access's AutoNumber felt.


Jeg åbner først en forbindelse til database, men det kan du sandsynligvis se bort fra, du har sikkert oprettet forbindelsen et andet sted i filen.

Derefter sker der to ting - først laver jeg et opslag i databasen, der skal vise om der allerede er en tæller for det pågældende link for datoen.

"SELECT LinkFID FROM tblCounter WHERE dDate = Date() AND LinkFID = " & ID & ";"

Hvis denne forespørgsel returnerer et recordset, er det fordi der er en tæller for linket for dags dato, ellers er der ikke. Det tester jeg for i linjen:

"If Not (rs.BOF Or rs.EOF) Then"

Hvis det er sandt skal vi altså tælle op, det foregår med SQL sætningen:

"UPDATE tblCounter SET nCount = nCount + 1 WHERE dDate = Date() AND LinkFID = " & ID & ";"

Ellers skal der oprettes en tæller for datoen - det foregår med SQL - sætningen:

"INSERT INTO tblCounter (LinkFID, dDate, nCount) VALUES (" & ID & ", Date(), 1)"

I alle SQL sætningerne indsættes det pågældende links id, hvor der står

" & ID & "

Håber det hjælper dig lidt på vej.
Avatar billede jhauge Nybegynder
31. marts 2003 - 10:01 #22
Ups - og så lige den rettede kode...

<%@ Language=VBScript %>
<!--#include file="adovbs.inc" -->
<%
    Sub AddCounter(ID)
        Dim cnxn, rs, sql
   
        ' Åbner connection
        Set cnxn = Server.CreateObject("ADODB.Connection")
        With cnxn
            .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=" & Server.MapPath("/db1.mdb") & ";"
            .Open
        End With
   
        ' Tæller op eller opretter ny tæller for dagen
        sql = "SELECT LinkFID FROM tblCounter WHERE dDate = Date() AND LinkFID = " & ID & ";"
        Set rs = cnxn.Execute sql, , adCmdText
        If Not (rs.BOF Or rs.EOF) Then
            ' Tælleren eksisterer for dagen, så vi tæller op
            sql = "UPDATE tblCounter SET nCount = nCount + 1 WHERE dDate = Date() AND LinkFID = " & ID & ";"
            cnxn.Execute sql, , adCmdText
        Else
            'Tælleren eksisterer ikke, så vi opretter en ny
            sql = "INSERT INTO tblCounter (LinkFID, dDate, nCount) VALUES (" & ID & ", Date(), 1)"
            cnxn.Execute sql, , adCmdText
        End If
        rs.Close
        Set rs = Nothing
   
        cnxn.Close
        Set cnxn = Nothing

    End Sub
    ' Variable ---------------------------------------------------
    Dim cnxn, rs, sql
   
    ' Program -----------------------------------------------------
   
    ' Tæller op
    AddCounter Request("LinkID")
Avatar billede jhauge Nybegynder
19. maj 2003 - 11:34 #23
Fik du brugt mit forslag?
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