Weblog stats
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
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.
Dit is mijn log.php, wat zou ik dan moeten veranderen?
----------------------------------------------------------------
Code (php)
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
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> </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();
?>
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> </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();
?>
----------------------------------------------------------------
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.
je sou ook alemaal txt bestandjes per id kunnen aanmaken en dan bijv. "ID"counter.txt +1 telkens doen...
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.
Code (php)
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
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;"> </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;"> </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;
}
?>
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;"> </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;"> </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;
}
?>
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.
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.