Hi, ich bastel grad einen Counter.
Der counter speichert bei aufruf einen klick in der DB die folgender massen aufegbaut ist :
id | linkid | url
id ist klar
linkid ist die id des links, der aufgerufen wurde, es kann sein dass z.B. ein link im Header von der startseite oder von einer unterseite aufgerufen wurde, das wird aber mitgeloggt und deswegen wird die variable $_SERVER['HTTP_REFERER'] mitgeloggt.
Soweit alles wunderbar.
Jetzt die Frage : Wie werte ich das am besten aus ?
Es soll die anzahl der klicks pro link pro ULR angezeigt werden, ich will mir z.B. die stats von ulr mit id 5 anzeigen lassen, also wähleich alles aus, wo linkid=5, undhab dann sagen wir 500 klicks mit verschieden urls.
wie mache ich das am besten ?
mein ansatz ist folgende, aber finde den nicht soo schnell und nicht besonders elegant :
p.S: die auswertung erflogt monatsweise, der timestamp wird mitgespeichert in der klick tabelle-
Bin für jeden konstruktiven Hinweis dankbar
cya max
Der counter speichert bei aufruf einen klick in der DB die folgender massen aufegbaut ist :
id | linkid | url
id ist klar
linkid ist die id des links, der aufgerufen wurde, es kann sein dass z.B. ein link im Header von der startseite oder von einer unterseite aufgerufen wurde, das wird aber mitgeloggt und deswegen wird die variable $_SERVER['HTTP_REFERER'] mitgeloggt.
Soweit alles wunderbar.
Jetzt die Frage : Wie werte ich das am besten aus ?
Es soll die anzahl der klicks pro link pro ULR angezeigt werden, ich will mir z.B. die stats von ulr mit id 5 anzeigen lassen, also wähleich alles aus, wo linkid=5, undhab dann sagen wir 500 klicks mit verschieden urls.
wie mache ich das am besten ?
mein ansatz ist folgende, aber finde den nicht soo schnell und nicht besonders elegant :
PHP-Code:
if(!isset($_REQUEST['linkid'])) die('Unerlaubter Aufruf !');
$aktueller_monat = date('n', time());
if(!isset($_REQUEST['monat'])) $monat = $aktueller_monat
else $monat = $_REQUEST['monat'];
$query = "select * from counter_klicks where linkid=$linkid";
$ergebnis = mysql_query($query, $db_handle) or die('Fehler bei der Datenbankabfrage');
$rubriken = array();
$rubrikencounter = 0;
while($liste=mysql_fetch_row($ergebnis))
{
if(date('n', $liste[3]) == $monat)
{
if(!in_array($liste[2], $rubriken)
{
$rubriken[$rubrikencounter][0] = $liste[2];
$rubriken[$rubrikencounter][1] = 1;
$rubrikencounter++;
}
else
{
// suchen und erhoehen
$i = array_search($liste[2], $rubriken);
$rubriken[$rubrikencounter][0] = $liste[2];
$rubriken[$rubrikencounter][1]++;
}
}
}
Bin für jeden konstruktiven Hinweis dankbar
cya max
Kommentar