| 24-02-2009, 18:13:49 Mo żna to zrobić dodając blok rodzaju php i wstawiając do niego wstawkę, np.:
$result = $db->query("SELECT mainpageid FROM ".$dbprefix."stats_sets");
$row = $db->fetcharray($result);
$pid = $row['mainpageid'];
if (!empty($pid)) {
if (empty($statspocessed)) {
include("units/statystyki/statsprocess.php");
}
$result = $db->query("SELECT count(DISTINCT ipint, ipext) as count FROM ".$dbprefix."stats_data WHERE pageid=".$pid);
$row = $db->fetcharray($result);
$visitors = $row['count'];
$d = date("j");
$m = date("n");
$y = date("Y");
$result = $db->query("SELECT sum(hits) as hits, sum(visits) as visits FROM ".$dbprefix."stats_counters WHERE pageid=".$pid." AND day=".$d." AND month=".$m." AND year=".$y);
$row = $db->fetcharray($result);
$todayhits = $row['hits'];
$todayvisits = $row['visits'];
$result = $db->query("SELECT sum(hits) as hits, sum(visits) as visits FROM ".$dbprefix."stats_counters WHERE pageid=".$pid);
$row = $db->fetcharray($result);
$hits = $row['hits'];
$visits = $row['visits'];
$result = $db->query("SELECT count(1) as count FROM ".$dbprefix."users_online");
$row = $db->fetcharray($result);
$users = $row['count'];
print "Dzisiaj wizyt: ".number_format($todayvisits, 0, ',', ' ');
print "<br />";
print "Dzisiaj odsłon: ".number_format($todayhits, 0, ',', ' ');
print "<br />";
print "Ogółem wizyt: ".number_format($visits, 0, ',', ' ');
print "<br />";
print "Ogółem odsłon: ".number_format($hits, 0, ',', ' ');
print "<br />";
print "Goście: ".number_format($visitors, 0, ',', ' ');
print "<br />";
print "Aktywni uzytkownicy: ".number_format($users, 0, ',', ' ');
print "<br />";
}
Trzeba jednak pamietać:
- przy wstawianiu takiego kodu musi być wyłączony edytor WYSIWYG;
- powyższą treść można modyfikować tylko trzeba uważać, żeby to nadal był kod PHP, trzeba stosować odpowiednie zapisy - typu jesli chcemy coś wydrukować na ekranie dajemy print, jeśli w tekście w środku jest cudzysłów poprzedzamy go backslashem ();
- musi być zdefiniowana wewnetrzna statystyka i ustawiona dla niej biezaca strona;
- powyższą statsytykę mozna dostosować tak żeby były pokazywane wczesniejsze dni np. tak:
$lastdays = 5;
for ($i=1; $i<=$lastdays; $i++) {
$date = mktime(0, 0, 0, date("n"), date("j")-($lastdays-$i), date("Y"));
$d = date("j", $date);
$m = date("n", $date);
$y = date("Y", $date);
$result = $db->query("SELECT sum(visits) as visits FROM ".$dbprefix."stats_counters WHERE day=".$d." AND month=".$m." AND year=".$y);
$row = $db->fetcharray($result);
print number_format($row['visits'], 0, ',', ' ');
print "<br />";
}
|