Weblog stats

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Programmeur

Functie omschrijving Ben jij op zoek naar een organisatie waar je samen met een team werkt aan iets moois en waar je naast hard werken ook hard kunt lachen? Dan ben je hier aan het juiste adres! Voor een informeel IT-bedrijf in omgeving Wassenaar zijn wij op zoek naar versterking. Ben jij op zoek naar een nieuwe uitdaging als Software Programmeur lees dan snel verder! Werkzaamheden Programmeur Je bent bezig met het ontwikkelen van software en webapplicaties. Je kunt technische klussen uitvoeren op locatie. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een project goed

Bekijk vacature »

PHP Developer

Als PHP Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn. Wat doe je als PHP Developer bij Coolblue? Als PHP Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Hoewel je een PHP Developer bent, sta je open om C# of Typescript in te zetten of te leren. Ook PHP Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen pure PHP code schrijven. Samenwerken met de klantreiziger om onze klanten

Bekijk vacature »

Developer Low-code

Dit ga je doen Low-code ontwikkeling van software voor landelijk bekende organisaties; Opleveren van mooie eindproducten, middels de Agile methodiek; Samenwerken in een team van 10 collega's; Direct contact met de eindklant over de gewenste oplossingen. Hier ga je werken Als Developer kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet discreet en veilig verwerkt worden. De processen die hierbij horen worden door het IT team vormgegeven. De

Bekijk vacature »

Trainee pega developer

Wil jij een mooie stap maken in jouw carrière? Mooi! Bij De Mandemakers Groep haal je binnen 6 maanden je CSA- en CSSA-certificaten, waarna jij aan de slag kan als Pega-developer in ons IT-team. Achter de schermen zorg jij ervoor dat collega’s efficiënt werken en klanten iedere dag beter geholpen worden. Wil jij daaraan bijdragen? En jouw ICT-skills ontwikkelen? Lees dan snel verder en solliciteer vandaag nog als trainee Pega-developer. Wat ga je doen? Als trainee Pega developer leiden wij je op tot gecertificeerd software developer voor het low-code platform PegaSystems. In de training ben je verantwoordelijk voor een te

Bekijk vacature »

.NET developer

Functie Als junior .NET Developer start jij in een team met 15 developers. In het team is er genoeg senioriteit om ervoor te zorgen dat jij de juiste begeleiding krijgt. Jij begint als eerst alle software pakketten en processen eigen te maken. Vervolgens ga jij deze software programmeren, onderhouden en testen. Ook ga jij research doen naar nieuwe mogelijkheden en zoek jij uit hoe je dit kan implementeren. Jullie werken intern op project basis en afhankelijk van het project werken jullie wel of niet iedere ochtend met een standup. 50% van jullie werkzaamheden is maatwerk en de overige 50% is

Bekijk vacature »

T-SQL Database developer

Functie omschrijving Ben jij een ETL database specialist? Houd jij ervan om te puzzelen met Databases, Query's & Stored procedures? Zoek jij uitdaging, vrijheid en verantwoordelijkheid? Zoek dan niet verder! Wij zijn per direct op zoek naar medior en senior database developers. Je gaat werken voor een relatief klein softwarebedrijf in omgeving Tilburg. Samen met 12 collega's (allemaal techneuten), ga jij je bezig houden met het bouwen en/of onderhouden van database software. Deze software wordt internationaal ingezet voor het automatiseren van logistieke processen. Jouw werkzaamheden gaan er als volgt uit zien: Je bent in een klein team met developers, verantwoordelijk

Bekijk vacature »

.NET developer

Functie Als .NET ontwikkelaar start jij in een multidisciplinair team met 7 ontwikkelaars. Dit team is verdeeld onder Front-end ontwikkelaars en backend developers. De backend developers werken voornamelijk aan desktop applicaties in combinatie met backend systemen. Hier ga jij dus ook mee aan de slag! Hierbij wordt voornamelijk gebruik gemaakt van C# .NET, WPF, UWP, XAML en MVVM. WPF, UWP, .NET Core, Azure Devops en Entity Framework. WPF en UWP worden dan ook voornamelijk gebruikt voor de user interface van de desktop applicatie. Het development team is dan ook erg gedreven m.b.t. het ontwikkelen van vooruitstrevende en innovatieve horeca automatiseringsoplossingen.

Bekijk vacature »

PHP Developer

Functie omschrijving Als PHP / Laravel developer zal je in een klein team terecht komen. Wij zijn op zoek naar een echte specialist, iemand die de balans weet te vinden tussen techniek en perfectie. In de aankomende jaren wilt dit bedrijf flink groeien en daarom zijn ze op zoek naar jou! Wat ga je doen? Je draagt bij aan het ontwikkelen en onderhouden van bestaande webapplicaties die boordevol functionaliteit zitten. Deze applicaties worden gebruikt door de organisatie zelf en ook door de klanten. Inmiddels wordt er gewerkt met Laravel 8 en zijn er diverse koppelingen naar externe leveranciers. Verder zal

Bekijk vacature »

Node.js developer

Functie Onder begeleiding van 3 accountmanagers waarvan er 1 binnen jouw expertise je aanspreekpunt zal zijn ga je aan de slag bij diverse opdrachtgevers. Hij of zij helpt je bij het vinden van een passende en uitdagende opdracht. Hierin houden ze uiteraard rekening met jouw situatie, ervaring en (technische) ambities. De opdrachten duren gemiddeld één tot 2 jaar. Hierdoor kun je je ook echt vastbijten in een project en als consultant impact maken. Naast de opdracht ben je regelmatig met je collega’s van de IT-afdeling om bijvoorbeeld onderlinge kennis te delen, of nieuwe trends te bespreken. Ook worden er regelmatig

Bekijk vacature »

Back end developer PHP, Laravel

Functie Jij komt te werken in ons webdevelopment team, wat bestaat uit 8 ervaren collega’s. Hiernaast hebben wij nog een team van 2 ontwikkelaars die aan native applicaties werken. Bij ons zijn er korte lijntjes en er hangt een gezellige informele werksfeer. Maar het belangrijkste is natuurlijk dat je aan geweldige applicaties zult gaan werken! Wij willen als organisatie niet te groot worden, we willen gewoon toffe dingen maken. Onze techstack bestaat momenteel uit: PHP, Laravel, Javascript, Typescript, Git, MySQL, Java, Kotlin, Xamarin. Samen met ons ga jij zorgen dat we puik werk leveren! Waarbij je bij elke fase in

Bekijk vacature »

Informeel bureau zoekt Senior PHP developer

Functie Als senior PHP developer neem je het voortouw in ontwikkeltrajecten en ben je in staat werk uit te leggen aan collega’s om zo je kennis met hen te delen. Je deinst niet terug voor ingewikkelde projecten. Deze zie jij alleen maar als uit uitdaging. Je werkt doorlopend aan klantcases (en hierdoor je klant echt leert kennen), maar toch ben je afwisselend bezig. Dit alles in een vrije en ontspannen werksfeer, met een team van gelijkgestemde. Binnen de development teams werken ze met o.a. PHP, Laravel, React, Node, Elastic, Amazon AWS, JIRA, Solid, Domain-driven-design, Doctrine, Redis, docker, Kubernetes, CI, PHP

Bekijk vacature »

.NET developer

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Lead Front-end developer

Functie Hun huidige applicatie worden ontwikkeld in o.a. React, Redux, TypeScript. Ze werken graag met de nieuwste technieken en tooling en zoeken ook developers die hier proactief op zoek naar gaan. Als senior/lead developer ben je een kartrekker in het team. Naast het meedenken over bijvoorbeeld de architectuur of toepassing van nieuwe technieken krijg je ook veel tijd om de meer junior (front-end) developers te begeleiden. Zo kun je bijvoorbeeld 1 dag in de week met 2 collega’s bezig zijn om samen met hen te kijken naar hun ontwikkeling, doelstellingen en uiteraard de gewenste begeleiding hierin. Hiernaast sta je als

Bekijk vacature »

Back end developer Onderwijssoftware

Functie Als back end developer kom jij terecht in een klein, maar hecht team bestaande uit 5 andere developers (waarvan 2 senioren, 2 medior en 1 junior). Met de gezamenlijke missie om “ieder kind te helpen met onze software” wordt er dagelijks gepassioneerd en hard gewerkt aan ons in-house ontwikkeld platform. Deze software is gebaseerd is op AI, machine Learning en wetenschappelijke inzichten. Dagelijks zul jij werken met onze high traffic webapplicatie. We hebben ruim 300.00 gebruikers en meer dan 2 miljard records waar je te maken mee krijgt! Verder zul jij je bezighouden met: – Het ontwikkelen van hoogwaardige

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Heb jij altijd al willen werken voor een bedrijf, dat veilige netwerkverbindingen levert, door middel van veilige oplossingen, die door middel van de nieuwste technologieën ontwikkelt zijn? Stop dan nu met zoeken! Voor een opdrachtgever in omgeving Moordrecht zijn wij op zoek naar een programmeur. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op

Bekijk vacature »
Stephan de vries

stephan de vries

27/11/2006 09:25:00
Quote Anchor link
Hallo,

Op ik heb een weblog met een statistieken systeem.
Deze statistieken geven aan hoevaak index.php, log.php enz. zijn bezocht.

Ik ben echter op zoek naar een statistiekenscript dat aangeeft hoevaak een log is bezocht.

Bijvoorbeeld:
www.weblog.com/log.php?id=115
Zo werkt het op mijn site ook.
Ik ben dus op zoek naar een statistieken script, liefst zo simpel mogelijk, waarin ik kan zien hoevaak www.weblog.com/log.php?id=115 is bezocht (en uiteraard ook id=116, id=117 enz.).

Ik ben een echte leek en heb nog weinig verstand van php dus als je een oplossing hebt hou het aub simpel zodat ik het snap

Thanx
 
PHP hulp

PHP hulp

22/12/2024 17:26:45
 
Joren de Wit

Joren de Wit

27/11/2006 09:58:00
Quote Anchor link
Op de pagina log.php selecteer je op een gegeven moment neem ik aan gegeven uit een database. Dit doe je aan de hand van de GET variabele 'id' die in de url staat.

Wat je zou kunnen doen is op het punt waar je de gegevens uit de database selecteert, ook een nieuw record in bijvoorbeeld een tabel statistieken aanmaken. Je tabel statistieken ziet er dan ongeveer als volgt uit:

statistieken
--------------
id
log_id
datum

In elk nieuw record plaats je dus het id, dat in de GET variabele 'id' staat, en de huidige datum. Later kun je dan op een andere pagina de gegevens weer uit deze tabel halen.
 
Stephan de vries

stephan de vries

27/11/2006 13:20:00
Quote Anchor link
mmm, oké.
Dit is mijn log.php, wat zou ik dan moeten veranderen?

----------------------------------------------------------------
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<?
require_once('global.inc.php');
setstats("Log");
$template = new template();
$template->menu;

$id = trim($_GET['id']);
$sql = mysql_query("SELECT * FROM weblog WHERE id='".$id."'");
$num = mysql_num_rows($sql);

if(isset($_GET['id']) && $num != 0){

    if(!isset($_POST['submit'])){

        while($row = mysql_fetch_assoc($sql)){


                        $content['1'] = "<small> </small>

                        "
. ubb($row['bericht']) . "<br>
                       <br>

                        "
. $row['datum'] . " | " . $row['categorie'] . " | " . $row['schrijver'] . " ";

    
            $template->content($content['1'],stripslashes($row['titel']));

        }


        if(isset($_GET['reageren'])){

            $template->content(reactie_weblog("?id=".$id));

        }
else{

            $sql = mysql_query("SELECT * FROM reacties WHERE wid='".$id."'");
            $num = mysql_num_rows($sql);

            if($num == 0){
                
                $template->content(ubb("Er zijn nog [i]geen[/i] reacties op deze log!"));

            }
else{

                $content['1'] = "";
                $i = 0;

                while($row = mysql_fetch_assoc($sql)){

                    $i++;
                    $content['1'] .= "<center><table width=394 style='border: 1px solid #B9B7B7;'><tr><td width=10>&nbsp;</td><td width=384>" . ubb($row['bericht']) . "</td></tr><tr><td bgcolor=\"#E3E3E3\" colspan=2>by: <b>" . $row['auteur'] . ":</b> " . $row['datum'] . "</td></tr></table></center><br>";


                    if($num != $i){
                    
                        $content['1'] .= "";

                    }

                }


                $template->content($content['1'],'Reacties');

            }


            $template->content(reactie_weblog("?id=".$id),'Reageren');

        }

  

    }
else{

        $naam = trim($_POST['naam']);
        $mail = trim($_POST['mail']);
        $bericht = trim($_POST['bericht']);
        $wid = trim($_GET['id']);

        if(strlen($naam) > 3 && strlen($mail) > 7 && strlen($bericht) > 5){

            $ip = $_SERVER['REMOTE_ADDR'];
            $day = array("zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag");
            $month = array("niet", "januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december");

            $w = date("w");
            $j = date("j");
            $n = date("n");
            $Y = date("Y");
            $tijd = date("H") . date(":i");

            $datum = $day[$w] . ", " . $j . " " . $month[$n] . " " . $Y . " om " . $tijd;

            $sql = mysql_query("INSERT INTO reacties (auteur,ip,datum,bericht,mail,wid) VALUES ('".$naam."','".$ip."','".$datum."','".$bericht."','".$mail."','".$wid."')") or die(mysql_error());

            header("Location: log.php?id=".$wid);

        }
else{
            
            $fouten = "";
            if(strlen($naam) < 3)
            {

                $fouten .= "- Je ingevulde naam is te kort! (moet langer dan 3 tekens)<br>";
            }

            if(strlen($mail) < 7)
            {
    
                $fouten .= "- Het ingevulde mailadres is te kort! (moet langer dan 7 tekens zijn)<br>";
            }

            if(strlen($bericht) < 5)
            {
    
                $fouten .= "- Het ingevulde bericht is te kort! (moet langer dan 5 tekens)<br>";
            }


            $template->content("De volgende fouten zijn opgetreden:<br>".$fouten."<br>Klik <a href=\"javascript: history.go(-1)\">hier</a> om terug te keren.",'Fout!');

        }

    }

}
else{

    header("Location: index.php");

}


$template->output();
?>

----------------------------------------------------------------
 
Joren de Wit

Joren de Wit

27/11/2006 13:30:00
Quote Anchor link
Ik neem aan dat je op dit moment de statistieken update met de functie setstats()? Je zou kunnen kijken of je deze functie verder kunt uitbreiden zodat ook de views per log opgeslagen worden.

Als alternatief zou je zelf zo'n soort functie kunnen schrijven waarbij elk view per log in de database opgeslagen wordt.

Maar kun je misschien even laten zien hoe de functie setstats() eruit ziet, dan is dat punt ook weer wat duidelijker.
 
Arjan Schuurman

Arjan Schuurman

27/11/2006 14:12:00
Quote Anchor link
je sou ook alemaal txt bestandjes per id kunnen aanmaken en dan bijv. "ID"counter.txt +1 telkens doen...
 
Joren de Wit

Joren de Wit

27/11/2006 14:21:00
Quote Anchor link
Please, ga niet met txt bestandjes werken als je ook een database tot je beschikking hebt. Zodra jij je verlaagt tot het niveau van de txt bestanden ontzeg je jezelf alle toegang tot de krachtige functies die een database in zich heeft.
 
Stephan de vries

stephan de vries

27/11/2006 14:36:00
Quote Anchor link
Class.statistieken.inc.php ziet er bij mij zo uit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
<?php

function setstats($page)
{

    $datum = mktime(0,0,0,date("n"),date("j"),date("Y"));
    $maand = date("n");
    $jaar = date("Y");
    $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    

    $een = mysql_num_rows(mysql_query("SELECT * FROM stats WHERE type='1'"));
    if($een == 0){ @mysql_query("INSERT INTO stats (type,value1,value2,datum) VALUES ('1','0','0','".$datum."')"); }

    @
mysql_query("DELETE FROM stats WHERE type='4' AND datum !='".$datum."'");

    // Totaal
    $sql = @mysql_query("SELECT count(1) FROM stats WHERE type='4' AND ip='".$ip."'");
    $bezoek = @mysql_result($sql, 0);
    if($bezoek == 0)
    {
        @
mysql_query("UPDATE stats SET value1=value1+1, value2=value2+1 WHERE type='1'");
        @
mysql_query("INSERT INTO stats (type,datum,ip) VALUES ('4','".$datum."','".$ip."')");
    }

    else
    {
        @
mysql_query("UPDATE stats SET value2=value2+1 WHERE type='1'");
    }


    // Dagelijks
    $sql = @mysql_query("SELECT count(1) FROM stats WHERE type='2' AND datum='".$datum."'");
    if(@mysql_result($sql, 0) == 0)
    {
        @
mysql_query("INSERT INTO stats (type,value1,value2,datum,maand,jaar) VALUES ('2','1','1','".$datum."','".$maand."','".$jaar."')");
    }

    else
    {
        if($bezoek == 0)
        {
            @
mysql_query("UPDATE stats SET value1=value1+1, value2=value2+1 WHERE type='2' AND datum='".$datum."'");
        }

        else
        {
            @
mysql_query("UPDATE stats SET value2=value2+1 WHERE type='2' AND datum='".$datum."'");
        }
    }


    // Pagina's
    if(!empty($page))
    {

        $sql = @mysql_query("SELECT count(1) FROM stats WHERE type='3' AND extra='".$page."'");
        if(@mysql_result($sql, 0) == 0)
        {
            @
mysql_query("INSERT INTO stats (type,extra,value1) VALUES ('3','".$page."','1')");
        }

        else
        {
            @
mysql_query("UPDATE stats SET value1=value1+1 WHERE type='3' AND extra='".$page."'");
        }
    }


    // unset variabelen
    unset($datum);
    unset($maand);
    unset($jaar);
    unset($ip);
    unset($sql);
    unset($bezoek);
}


$land_img = array('images/lnd_nld.gif','images/lnd_bel.gif','images/lnd_unk.gif');

function
getstats()
{

    $terug = array();
    $datum = mktime(0,0,0,date("n"),date("j"),date("Y"));
    $maand = date("n");
    $jaar = date("Y");

    $vandaag = mysql_fetch_assoc(mysql_query("SELECT * FROM stats WHERE type='2' AND datum='".$datum."'"));
    array_push($terug, 'Vandaag');
    array_push($terug, '<table border="0" width="100%"><tr><td>Uniek:</td><td width="100">'.$vandaag['value1'].'</td></tr><tr><td>Hits:</td><td width="100">'.$vandaag['value2'].'</td></tr></table>');

    $totaal = mysql_fetch_assoc(mysql_query("SELECT * FROM stats WHERE type='1'"));
    array_push($terug, 'Totaal <small>| Sinds: '.date('d-m-Y', $totaal['datum']));
    array_push($terug, '<table border="0" width="100%"><tr><td>Uniek:</td><td width="100">'.$totaal['value1'].'</td></tr><tr><td>Hits:</td><td width="100">'.$totaal['value2'].'</td></tr></table>');

    $highest_uniek = mysql_fetch_assoc(mysql_query("SELECT * FROM stats WHERE type='2' ORDER BY value1 DESC LIMIT 0,1"));
    $highest_hits = mysql_fetch_assoc(mysql_query("SELECT * FROM stats WHERE type='2' ORDER BY value2 DESC LIMIT 0,1"));
    array_push($terug, 'Records');
    array_push($terug, '<table border="0" width="100%"><tr><td>Uniek:</td><td width="100">'.date("d-m-Y", $highest_uniek['datum']).'</td><td width="100">'.$highest_uniek['value1'].'</td></tr><tr><td>Hits:</td><td width="100">'.date("d-m-Y", $highest_hits['datum']).'</td><td width="100">'.$highest_hits['value2'].'</td></tr></table>');

    //Dagen
    $dag = '<table border="0" width="100%">';

    $dag_naam = array('Zondag','Maandag','Dinsdag','Woensdag','Donderdag','Vrijdag','Zaterdag');

    for($i=0; $i <= 6; $i++)
    {

        $datum2 = mktime(0,0,0,$maand,date("d")-$i,$jaar);
        $sql = @mysql_query("SELECT value1, value2 FROM stats WHERE type='2' AND datum='".$datum2."'");
        if(@mysql_num_rows($sql)==0)
        {

            $stats['bezoekers'] = 0;
            $stats['hits'] = 0;
        }

        else
        {
            $list = @mysql_fetch_array($sql);
            $stats['bezoekers'] = $list['value1'];
            $stats['hits'] = $list['value2'];
        }

        if($stats['bezoekers'] != 0)
        {

            $dag .= '<tr><td>'.$dag_naam[date("w",$datum2)].'</td>
                <td width="100">Uniek:</td>
                <td width="100">'
.$stats['bezoekers'].'</td>
            </tr>
            <tr>
                <td style="border-bottom: 1px solid #dedede;">&nbsp;</td>
                <td width="100" style="border-bottom: 1px solid #dedede;">Hits:</td>
                <td width="100" style="border-bottom: 1px solid #dedede;">'
.$stats['hits'].'</td>
            </tr>'
;
        }
    }

    $dag .= '</table>';
    array_push($terug, 'Afgelopen week');
    array_push($terug, $dag);

    for($i=0; $i <= 5; $i++)
    {

        if($maand-$i < 1)
        {

            $maand2 = 12-($i-$maand);
            $jaar2 = $jaar-1;
        }

        else
        {
            $maand2 = $maand-$i;
            $jaar2 = $jaar;
        }

        $sql = @mysql_query("SELECT SUM(value1) AS value1, SUM(value2) AS value2 FROM stats WHERE type='2' AND jaar='".$jaar2."' AND maand='".$maand2."' GROUP BY maand");
        if(@mysql_num_rows($sql) == 0)
        {

            $maand_bezoekers[$maand2] = 0;
            $maand_hits[$maand2] = 0;
        }

        else
        {
            $row = @mysql_fetch_array($sql);
            $maand_bezoekers[$maand2] = $row['value1'];
            $maand_hits[$maand2] = $row['value2'];
        }
    }


    $maand3 = '<table border="0" width="100%">';
    $maand_naam = array('','Januari','Februari','Maart','April','Mei','Juni','Juli','Augustus','September','Oktober','November','December');

    for($i=0; $i <= 5; $i++)
    {

        if($maand-$i < 1)
        {

            $maand2 = 12-($i-$maand);
            $jaar2 = $jaar-1;
        }

        else
        {
            $maand2 = $maand-$i;
            $jaar2 = $jaar;
        }

        if($maand_bezoekers[$maand2] != 0)
        {

            $maand3 .= '<tr><td>'.$maand_naam[$maand2].'</td>
                <td width="100">Uniek:</td>
                <td width="100">'
.$maand_bezoekers[$maand2].'</td>
            </tr>
            <tr>
                <td style="border-bottom: 1px solid #dedede;">&nbsp;</td>
                <td width="100" style="border-bottom: 1px solid #dedede;">Hits:</td>
                <td width="100" style="border-bottom: 1px solid #dedede;">'
.$maand_hits[$maand2].'</td>
            </tr>'
;
        }
    }

    $maand3 .= '</table>';
    array_push($terug, 'Afgelopen half jaar');
    array_push($terug, $maand3);

    $sql = @mysql_query("SELECT extra, value1 FROM stats WHERE type='3' ORDER BY value1 DESC");
    $pagina = '<table border="0" width="100%">';
    $i = 1;
    while($list = @mysql_fetch_array($sql))
    {

        $pagina .= '<tr><td>'.$i.'. ' . $list['extra'] . '</td>
            <td width="100">Hits:</td>
            <td width="100">'
. $list['value1'] . '</td>
        </tr>'
;
        $i ++;
    }

    $pagina .= '</table>';
    array_push($terug, 'Hits per pagina');
    array_push($terug, $pagina);

    return $terug;    
}


?>
 
Joren de Wit

Joren de Wit

27/11/2006 14:43:00
Quote Anchor link
Dit script is verreweg van netjes. Je gebruikt overal @-tje om fouten te onderdrukken, terwijl je juist wilt zien als er wat fout gaat. Deze functies bevatten totaal geen foutafhandeling en dat is toch wel de basis van een goed script.

Daarnaast klopt je datamodel ook niet. Je bent kolommen aan het nummeren en van overzichtelijkheid is ook weinig sprake. Over het algemeen is het voor jezelf een indicatie dat zodra je kolommen gaat nummeren, je te maken hebt met een incorrect datamodel. Ik zou serieus overwegen om dit aan te passen.

Kijk eens naar de tutorial over normaliseren hier op deze site. Dat is de basis van een goed datamodel.
 
Eris -

Eris -

27/11/2006 14:51:00
Quote Anchor link
Slimme vragen stellen.

Voor de regels over het posten van scripts. 200 regels lijkt mij niet nodig
 
Stephan de vries

stephan de vries

27/11/2006 19:03:00
Quote Anchor link
Sorry dat ik het op die manier post. Zoals ik al aangaf ben ik echt een leek. Ik heb het weblog gekregen van iemand. Door de volledige code te plaatsen hoopte ik dat iemand mij kon vertellen wat ik precies moet doen om de statistieken per log te kunnen bekijken.

Weet iemand het? Misschien dat een los kant en klaar script ergens te krijgen is dat is simpel kan integreren door bijv. een stukje code toe te voegen.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.