BesucherzählerDie Art der Speicherung der Besucherzahlen in der Datenbank hat einen Nachteil. Sozusagen ein „Designfehler“ ist die Speicherung unter den Bezeichnern "tag_1", "tag_2".... Da es ein String ist, lässt sich damit nicht die richtige Sortierung erzielen. public function get_all_hits() { $vj=date("Y")-1; $j=date("Y"); $sql = " SELECT hit, round(substring(bez,5)) as num FROM z_hit WHERE bez like 'tag_%' && (jahr = $vj || jahr = $j) ORDER BY jahr, num "; $result = $this->base_query($sql); $this->store_result(); return $result; } Für die Auswertung erst einmal ein bisschen Gefummel mit Datumsfunktionen um $kalender, ein Array of Array, mit den benötigten Daten in die richtige Reihung zu bringen. Mit den tatsächlichen Werten gefüllt wird es in einer Schleife. $result = $hit->get_all_hits(); $num = $result->num_rows; for ($i = $tage_auffuellen, $j = 0; $i <= $anz + $tage_auffuellen || $j < $num; $i++, $start+=86400) { $kalender[$i] = array('Monat' => date("n",$start), 'Tag' => date("z", $start), 'Hit' => 0); if ($result->data_seek($j)) $a = $result->fetch_assoc(); if ($a['num'] == $kalender[$i]['Tag']) { $kalender[$i]['Hit'] = (integer) $a['hit']; $j++; } } Danach erfolgt die Bilderzeugung. Das ganze in der Datei z_statistik_b.php5. Wie gesagt: betrachten Sie das ganze als eine Spielerei, eine Demo, man könnte.... Rechts ganz oben eine nummerische Ausgabe verschiedener Zähler. Die Routine statistik() wird bei jedem Seitenabruf durch hit_count() aufgerufen und stellt die Werte im Object $HIT zur Verfügung. |
Statistik02.12.24 23:20:14Besucher: 21.850 Seitenabrufe: 599.075 Bes. online: 0, max: 151 Besucher: 4 gestern: 1 vorgestern: 2 SPAM count: 5913 Hier die Dateien zum download, sie sind Ergänzung zu den Dateien "Sessiondaten speichern".
Statistische Auswertungen in der Version vom 22.01.11 17:13
| |