2010-11-23 6 views
1

Ich möchte auf meiner Website ein Balkendiagramm erstellen, das anzeigt, an welchen Tagen der Woche und an welchen Tagen die meisten Aktivitäten/Anmeldungen stattfinden.Wie kann ich zeigen, welche Tage und Zeiten die meiste Aktivität auf einer Website mit PHP und MySQL hat?

Also ich frage mich, ob jemand mir ein paar Tipps geben könnte, wie sie das tun würden? Wie sollte ich die Datenbanktabelle (n) organisieren, welche Daten zu sammeln sind und wie ich die mit Hilfe von PHP als Bargraph aufgezeichneten Daten darstellen kann.

+3

Beginnen Sie damit, uns mitzuteilen, welche Daten Sie bereits haben? Protokollieren Sie Website-Besucher? Verwenden Sie Analysepakete (wie Google Analytics)? Etc. –

+0

Mein Hauptproblem ist herauszufinden, wie meine Datenbanktabelle (s) organisiert werden sollten.Ich werde dann aufzeichnen, an welchem ​​Tag und zu welcher Tageszeit ein Login/Besuch mit PHP durchgeführt wurde, und diese Daten verwenden, um ein Balkendiagramm auf der Website darzustellen, damit meine Besucher sehen können, zu welchen Zeiten meine Website am aktivsten ist Chat-Seite). Ich bin mir nicht sicher, was Sie mit welchen Daten meinen, die ich bereits habe. – Kanonskall

Antwort

0

Wahrscheinlich ist der beste Weg, dies zu tun, einen Datum-Zeit-Stempel für jeden Besuch oder Login zu speichern. Dann können Sie clevere SQL-Abfragen verwenden, um die Informationen wie gewünscht zu gruppieren (Wochentage, Tageszeiten oder irgendetwas anderes.)

So würde die Datenbanktabelle wahrscheinlich nur einen Primärschlüssel und den Zeitstempel der besuchen, obwohl Sie definitiv Informationen über den Benutzer oder die Aktion auch speichern könnten.

Für die Präsentation, versuchen Sie entweder Google Charts (http://code.google.com/apis/chart/) oder eine JavaScript-basierte Charting-Bibliothek (Es gibt mehrere da draußen, ich hatte gute Erfahrungen mit Highcharts http://www.highcharts.com/)

ps: Da Sie diesen Beitrag als MySQL markiert haben, nehme ich an, dass dies Ihre Datenbank der Wahl ist. Hier ist eine Tabellenerstellungsanweisung, die Sie verwenden können.

+0

IP für einmalige Besuche? – Robimp

+0

Sicher. Er hat jedoch erwähnt, dass er an Logins interessiert ist - diese können etwas genauer behandelt werden als Seitenbesuche, ohne dass sichergestellt werden muss, dass die IP einzigartig ist. – Chase

+0

Nicht gesehen highcharts vor, das sieht aus wie eine gute Option @Kanonskall – Robimp

0

Wenn Sie es selbst tun müssen und nicht ein bereits vorhandenes Paket verwenden. Fange klein an. Erstellen Sie einfach eine Tabelle, die jede Anfrage protokolliert, wer sie erstellt hat, die Uhrzeit, den Referer, welche Informationen Sie auch haben möchten.

Sobald Sie die Daten protokolliert haben, wenn Sie immer noch nicht wie Google Charts verwenden möchten, können Sie versuchen, Ihre eigenen einfachen PHP-Diagramme mit CSS und HTML zu erstellen.

Balkendiagramme können ziemlich einfach sein, erfordern jedoch etwas Mathe, um richtig zu funktionieren. Der einfachste Weg ist, sie auf die Seite zu drehen. Man sieht sie normalerweise wie Gebäude, aber man möchte sie in diesem Fall als wurmähnliche Röhren sehen. Die Länge der Röhre kann dann die Anzahl der Treffer, Seitenaufrufe, Besuche usw. darstellen.

Ich würde eine feste Breite für das gesamte Diagramm definieren und die Breite der Balken ändern, um einen Prozentsatz des Maximalwerts darzustellen. Wenn also der Maximalwert 1000 ist und dieser Balken 500 ist, würde der Balken 50% der Breite des Diagramms betragen.

Ich hoffe, dies weist Sie in die richtige Richtung. So etwas zu tun kann großartig sein, um neue Konzepte zu lernen.

1

Es könnte einfacher sein, eine Visualisierung mit Ihren Serverprotokollen durchzuführen. Verarbeitung (http://www.processing.org/) ist in solchen Dingen gut, oder versuchen Sie http://processingjs.org/ für eine nicht Java-Version.

Um Ihre Frage zu beantworten, wie bereits erwähnt, speichern Sie die Datenzeit für jeden Besuch (und vielleicht auch IP, wenn Sie nach einmaligen Besuchen), dann schreiben Sie ein Skript, um die Datensätze zu ziehen und eine Summe für jeden Stunde. Sie können farbige Divs verwenden, deren Höhe auf die Anzahl (oder einen Bruchteil) der Treffer eingestellt ist. Eigentlich ist das im Grunde ein Hit-Counter, nicht wahr?

Ja, mein Rat wäre, die Verarbeitung zu überprüfen, aber es ist leicht zu erlernen und liefert gut aussehende Ergebnisse.

+0

Ernsthaft? Verarbeitung für ein einfaches Var-Diagramm verwenden? – c0rnh0li0

+1

Ja, es wird ein schönes Var-Chart sein. – Robimp