PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suche Bastel-Idee für Statistik :)



ElDani
10.11.2007, 23:28
Hallo, Ihr Fleißigen,

ich möchte gerne für meine User ne Statistik einbauen, in der erscheint, wie viele Klicks heute, diese Woche, diesen Monat, dieses Jahr schon getätigt wurden, .... das selbe möchte ich für Mails und eventuell noch andere Dinge anzeigen. aber "Klicks aller Art" und "Mails" sind die ersten beiden Dinge, die ich jetzt verwirklichen will...

heute hab ich als ersten Schritt ne Funktion der Bilanz benutzt, und habe zusätzlich zur normalen bilanz-Funktion noch in allen Klick-Dateien eine Funktion eingebaut, die einfach zum Betrag "Klicks" bzw "Mails" 1 dazu zählt. nun kann ich in der Bilanz sehen, daß heute schon xxxx Mails und xxxx Klicks geklickt wurden. ... ich denke, ich könnte es hinbekommen, das auch in eine extra Statistik-Tabelle zu schreiben, und dann wieder zum Anzeigen auszulesen.

Allerdings weiß ich nich, wie ich dem Script dann sagen soll, daß es um 0.00 Uhr bzw. sonntags um 24.00 Uhr, bzw. am letzten Tag des Monats, bzw. des Jahres ... neu anfangen soll zu zählen. ich denke, das könnte ein Cron erledigen, der täglich um 0.00 Uhr mit durchläuft. Weiß einer, wie das zu lösen ist, daß der Cron an unterschiedlichen Tagen unterschiedliche Dinge tut?

Was haltet ihr erfahreneren Progger von der Idee?
Könnte das funktionieren?
Hat eventuell schon jemand Erfahrung in dieser Sache?

schonmal Danke!
und
Schöne Tage uns allen! :)

ElDani

SebbyPHM
11.11.2007, 12:12
Gute Idee, werde ich auch bei mir machen :D.

Wie du das am besten realisieren kannst (grobe Anleitung zum Codebau):

MySQL-Tabelle erstellen, z.B. vms_statistik (Spalten z.B. day int[8], uid int[7], art varchar[10], anzahl int[11], wert double[100,2])

In den Vergütungs-Dateien, in dem Abschnitt wo die Vergütung erfolgt, z.B. folgendes schreiben:

db_qery ('UPDATE vms_statistik SET wert = wert + '.$kampagne['veridenst'].', anzahl = anzahl + 1 WHERE day = '.date('Ymd').' AND uid = '.$_SESSION['uid'].' AND art = "forced-oder-so-etwas"');
if (!mysql_affected_rows ()) db_query ('INSERT INTO vms_statistik (day,uid,art,anzahl,wert) VALUES ('.date('Ymd').', '.$_SESSION['uid'].', "forced-oder-so-etwas", 1, '.$kampagne['verdienst'].')');

Viel Spaß ;)

ElDani
11.11.2007, 23:13
Hallo, Sebby, danke! ;)

aber.... hmmm... das funzt bei mir so noch net...

ich habs zum Testen erstmal in die topframe.forced.php gebaut, erst direkt vor kontobuchung () etc., dann hab ich hinter den neuen Code noch ein } gebaut (dachte ich, wegen dem if... ) , dann hab ich das weiter unten rein, wo der neue ReLoad gesetzt wird...

dabei erschien jedesmal, früher oder später ein ParseError.

in die Tabelle wurde auch noch nix eingetragen...

haste noch ne Idee, woran das liegt?

ne gute Woche Dir und euch allen! ;)

pdg
16.11.2007, 21:42
Hm, also ich hab das ganze so gemacht.

Ich hab die Tabelle von Sebby angelegt und diesen Code benutzt:



db_query("UPDATE vms_statistik SET anzahl=anzahl+1, wert=wert+".$forced['verdienst']." WHERE day='".date("Ymd")."' AND uid = ".$_SESSION['uid']." AND art='forced-k' LIMIT 1");
if (mysql_affected_rows() == 0){
db_query("INSERT INTO vms_statistik (day,uid,art,anzahl,wert) VALUES ('".date("Ymd")."',".$_SESSION['uid'].",'forced-k', 1, ".$forced['verdienst'].")");
} und es funktioniert ohne Probleme.

Ich hoffe, ich konnte helfen

SebbyPHM
17.11.2007, 13:27
genau ... jedoch kann man, wenn etwas direkt nach einem IF kommt, die klammer auf und klammer zu --> { und }, weg lassen

z.b.

<?php
// Einfacher:
if (isset ($_GET['para'])) echo $_GET['para'];

// auch möglich, jedoch unsinnig:
if (isset ($_GET['para'])) {
echo $_GET['para'];
}
?>

pdg
17.11.2007, 13:29
Ja, ich weiß, aber ich mag die geschwungenen Klammern :)

Also, wir könnten es auch so machen:


db_query("UPDATE vms_statistik SET anzahl=anzahl+1, wert=wert+".$forced['verdienst']." WHERE day='".date("Ymd")."' AND uid = ".$_SESSION['uid']." AND art='forced-k' LIMIT 1");
if (mysql_affected_rows() == 0) db_query("INSERT INTO vms_statistik (day,uid,art,anzahl,wert) VALUES ('".date("Ymd")."',".$_SESSION['uid'].",'forced-k', 1, ".$forced['verdienst'].")");


pdg

Franco
06.12.2007, 22:36
Wie wäre es mit einer Hoch/Fall Grafik ?