Merhabalar wordpress bazlı sitemdeki istatistikleri biraz değiştirmek istedim. İstatistik bilgi ekranında günlük statlar mevcut. Ben aylık da göstermek istiyorum
Gün gün gösteren kod:
Benim yapmak istediğim fakat nedense olmayan ay ay istatistikler. Fakat mesala şu an ayın 6 sı. ama son 30 günü alıyor sanırım:
Bide çıkartığı değerler şu şekilde:
6 52373
5 46731
4 29356
3 25400
2 21023
1 13899
0 2289
yani toplayarak gidiyor sanırım...
Gün gün gösteren kod:
PHP:
function getDaysHits() {
global $wpdb;
$dt = strtotime(gmdate("j F Y",time()+(((gmdate('I'))?($this->tz_offset+1):$this->tz_offset)*3600)));
$dt = $dt-(3600*2); // The above is off by two hours. Don't know why yet...
$tmp = "";
$dt_start = time();
$tmp = "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\n";
$tmp .= "\t<tr><th colspan=\"2\">Hits in the last 2weeks</th></tr>\n";
$tmp .= "\t<tr><td class=\"accent\">Day</td><td class=\"accent last\">Hits</td></tr>\n";
for ($i=0; $i<7; $i++) {
$dt_stop = $dt_start;
$dt_start = $dt - ($i * 60 * 60 * 24);
$day = ($i)?gmdate("l, j M Y",$dt_start):"Today, ".gmdate("j M Y",$dt_start);
$query = "SELECT COUNT(DISTINCT remote_ip) AS 'total' FROM $this->table_stats WHERE dt > $dt_start AND dt <=$dt_stop";
if ($total = $wpdb->get_var($query)) {
$tmp .= "\t<tr><td>$day</td><td class=\"last\">$total</td></tr>\n";
}
}
$tmp .= "</table>";
return $tmp;
}
Benim yapmak istediğim fakat nedense olmayan ay ay istatistikler. Fakat mesala şu an ayın 6 sı. ama son 30 günü alıyor sanırım:
PHP:
function getMonthsHits() {
global $wpdb;
$tmp = "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\n";
$tmp .= "\t<tr><th colspan=\"2\">Hits in the last 12 months</th></tr>\n";
$tmp .= "\t<tr><td class=\"accent\">Month</td><td class=\"accent last\">Hits</td></tr>\n";
$today = getdate();
for ($i=0; $i<12; $i++) {
$month = $today['mon'] - $i;
$start_month = $today['mon'] - $i + 1;
$dt_stop = mktime(0, 0, 0, $month, 1, $today['year'], date('I'));
$dt_stop = $dt_stop - 7200;
$dt_start = mktime(0, 0, 0, $start_month, $today['year'], date('I'));
$dt_start = $dt_start - 7200;
$query = "SELECT COUNT(DISTINCT remote_ip) AS 'total' FROM $this->table_stats WHERE dt >= $dt_start AND dt <=$dt_stop";
if ($total = $wpdb->get_var($query)) {
$tmp .= "\t<tr><td>$month</td><td class=\"last\">$total</td></tr>\n";
}
}
$tmp .= "</table>";
return $tmp;
}
Bide çıkartığı değerler şu şekilde:
6 52373
5 46731
4 29356
3 25400
2 21023
1 13899
0 2289
yani toplayarak gidiyor sanırım...