hallo,
hab versucht eine lösung für folgendes problem zu selbst zu finden:
ich möchte mit dieser abfrage erreichen, dass die klicks der jeweiligen urls angezeigt werden, um es graphisch darzustellen nutze ich pchart, bzw. mtchart. es klappt auch soweit ganz gut, nur wenn ich z.b. "d" für monat nutze, werden zu viele tage graphisch dargestellt.
hier mein ansatz die darstellung auf 7 tage zu beschränken:
hier noch die vorbereitung für den chart:
ich hoffe, dass mir jemand helfen kann.
denn die tage und klicks werden nun von rechs nach links ausgegeben, was bissel doof ausschaut. mach ich es mit asc, werden die ersten tage seit anfang des monats ausgegeben, was ich so auch nicht will.
gruß...
hab versucht eine lösung für folgendes problem zu selbst zu finden:
PHP-Code:
if($_GET['date'] == "y") {
$format = "%Y";
$show_format = "%Y";
#$where = " and date_format(date, '$format') ='".date("Y")."'";
}
elseif($_GET['date'] == "m") {
$format = "%Y";
$show_format = "%m";
$where = " and date_format(date, '$format') ='".date("Y")."'";
}
elseif($_GET['date'] == "d") {
$format = "%Y-%m";
$show_format = "%d";
$where = " and date_format(date, '$format') ='".date("Y-m")."'";
}
if($show_format) {
$sql="select count(url.sid) as sum, date_format(date, '$show_format') as datum, url from stats, url where stats.sid=$sid and url.sid=stats.sid $where group by datum";
}
else {
$sql = "select count(url.sid) as sum, date_format(date, '%Y-%m-%d') as datum, url from stats, url where stats.sid=$sid and url.sid=stats.sid group by datum";
}
hier mein ansatz die darstellung auf 7 tage zu beschränken:
PHP-Code:
if($_GET['date'] == "y") {
$limit = "12";
$format = "%Y";
$show_format = "%Y";
#$where = " and date_format(date, '$format') ='".date("Y")."'";
}
elseif($_GET['date'] == "m") {
$limit = "12";
$format = "%Y";
$show_format = "%m";
$where = " and date_format(date, '$format') ='".date("Y")."'";
}
elseif($_GET['date'] == "d") {
$limit = "7";
$format = "%Y-%m";
$show_format = "%d";
$where = " and date_format(date, '$format') ='".date("Y-m")."'";
}
if($show_format) {
$sql="select count(url.sid) as sum, date_format(date, '$show_format') as datum, url from stats, url where stats.sid=$sid and url.sid=stats.sid $where group by datum order by datum desc limit $limit";
}
else {
$sql = "select count(url.sid) as sum, date_format(date, '%Y-%m-%d') as datum, url from stats, url where stats.sid=$sid and url.sid=stats.sid group by datum";
}
PHP-Code:
$res = mysql_query($sql);
while($data = mysql_fetch_array($res)) {
$visits[] = $data['sum'];
$date[] = $data['datum'];
$url = $data['url'];
$found = TRUE;
}
denn die tage und klicks werden nun von rechs nach links ausgegeben, was bissel doof ausschaut. mach ich es mit asc, werden die ersten tage seit anfang des monats ausgegeben, was ich so auch nicht will.
gruß...
Kommentar