php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.04.2008, 20:30  
Erfahrener Benutzer
 
Registriert seit: 02.03.2008
Beiträge: 351
robydog befindet sich auf einem aufstrebenden Ast
Standard Ein paar Fragen

Hallo

habe da mal ein paar Fragen.

1. Wie kann man eine detaillierte Statistik erstellen? Tage Woche Monate Jahr Gesamt? Wie muss man sowas programmieren und wie muss die tabellenstruktur dafür sein. wie sieht das aus mit den zahlen. werden die dann jeden tag verschoben aus einer spalte in die nächste `?

2. Ist es möglich dass man einen Zähler hat zb download zähler... die anzahl klicks wird in einer spalte gespeichert. Diese Spalte soll aber zb monatlich gelöscht werden so dass jeden monat die zahl wieder von vorne beginnt. also bei 0. und die bisherigen einträge müssten dann in eine andere spalte gehen zb gesamt_klick Wie macht man sowas?

danke schon im voraus
robydog ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.04.2008, 21:30  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

1) Eine Statistik von was?
2) Du kannst das Datum oder wenigstens den aktuellen Monat mit in der Tabelle abspeichern und dann das SELECT (oder das UPDATE oder manchmal auch das DELETE) über eine WHERE-Bedingung einschränken.
David ist offline  
Alt 22.04.2008, 21:38  
Erfahrener Benutzer
 
Registriert seit: 02.03.2008
Beiträge: 351
robydog befindet sich auf einem aufstrebenden Ast
Standard

meine statistik sieht nun so aus das was ich bis jetzt gemacht habe

Ihr Angebot xSmall wurde bisher 3 mal besucht. Davon 1 mal geklickt. 33.33 %

Dies möchte ich aber jetzt erweitern in Tages, wochen, monate, jahres und gesamt statistik

bei der spalte xsmall steht jetzt besucht 3 (wird bei jedem besuch um 1 hochgezählt) bei geklickt steht 1 (wird auch automatisch hochgezählt) Wie kann ich das nun ergänzen dass ich eine detailliertere statistik habe... macht man sowas mit einer neuen tabelle oder kann man in der spalte xSMALL tag,woche,monat,jahr,gesamt einfügen? und dann jeden tag den inhalt aus tag in woche schieben, usw?

wie meinst du das mit dem datum?

du würdest eine neue Tabelle anlegen? zb statistik. und bei jedem besuch würde es ein neue eintrag geben zb. datum und was gemacht wurde... ob klick oder nur besuch... und beim abfragen dann einfach mit where datum den heutigen tag suchen? die aktuelle woche? monat? jahr? usw

??? wie mache ich das dann bei der abfrage von woche? oder monat?
robydog ist offline  
Alt 22.04.2008, 21:58  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Ich würde der bestehenden Tabelle ein Feld vom Typ DATE hinzufügen und einen unique index darauf legen. Wenn es bereits einen Eintrag zum heutigen Datum gibt, schlägt das INSERT fehl und man kann statt dessen mit UPDATE den Zähler hochsetzen. Bei MySQL geht das zum Beispiel in einer Anweisung mit INSERT .. ON DUPLICATE
David ist offline  
Alt 22.04.2008, 22:06  
Erfahrener Benutzer
 
Registriert seit: 02.03.2008
Beiträge: 351
robydog befindet sich auf einem aufstrebenden Ast
Standard

hmm...

da versteh ich nur bahnhof...

hier mal meine tabelle

name,besuch,klick

wobei besuch jedesmal geupdated wird wenn jemand das profil anschaut
und klick jedesmal geupdated wird wenn jemand auf den link klickt

was würde mir denn nun das feld date bringen?
robydog ist offline  
Alt 22.04.2008, 22:17  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Dass Du die Clicks pro Tag erfassen kannst.

site_id, site_name
1, siteA.biz
2, siteB.biz

site_id, datum, besuch, klick
1, 2008-04-01, 1600, 80
2, 2008-04-01, 100, 50
1, 2008-04-02, 1300, 70
2, 2008-04-02, 120, 60
1, 2008-04-03, 1500, 40
2, 2008-04-03, 110, 40
1, 2008-04-04, 1500, 60
1, 2008-04-05, 1600, 80
1, 2008-04-06, 1700, 80
1, 2008-04-07, 1800, 70

Die Tagesauswertung ist trivial. Und für die Wochen-, Monat-, Jahresauswertung kannst Du die Datumsfunktionen der Datenbank verwenden. Bei MySQL zum Beispiel WHERE site_id=1 AND Week(datum)=13
David ist offline  
Alt 22.04.2008, 22:24  
Erfahrener Benutzer
 
Registriert seit: 02.03.2008
Beiträge: 351
robydog befindet sich auf einem aufstrebenden Ast
Standard

Ok das ist das was ich meinte mit einer neuen tabelle (statistik anlegen)
das versteh ich wie das zu machen ist.

Zitat:
Zitat von David Beitrag anzeigen
Ich würde der bestehenden Tabelle ein Feld vom Typ DATE hinzufügen und einen unique index darauf legen. Wenn es bereits einen Eintrag zum heutigen Datum gibt, schlägt das INSERT fehl und man kann statt dessen mit UPDATE den Zähler hochsetzen. Bei MySQL geht das zum Beispiel in einer Anweisung mit INSERT .. ON DUPLICATE
was meinst du mit Unique index? was ist das?

Week(datum)=13

muss man dort b ei (datum) das datum hinschreiben oder geht das so wie es dort steht und dann 13 ist die 13. woche vom jahr..

und bei monat wäre dann

Month(datum)=12
Year(datum)=2008
robydog ist offline  
Alt 23.04.2008, 11:45  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Zitat:
Zitat von robydog Beitrag anzeigen
Ok das ist das was ich meinte mit einer neuen tabelle (statistik anlegen)
eigentlich habe ich Deine Tabelle nur um das Feld datum erweitert und dann name(varchar) durch site_id(Zahl) ersetzt. Eine neue Tabelle ist nicht unbedingt notwendig.

Zitat:
Zitat von robydog Beitrag anzeigen
was meinst du mit Unique index? was ist das?
MySQL :: MySQL 5.0 Reference Manual :: 12.1.4 CREATE INDEX Syntax
Bei anderen Datenbanksystemen funktioniert das ähnlich.
Zitat:
Zitat von robydog Beitrag anzeigen
Week(datum)=13

muss man dort b ei (datum) das datum hinschreiben oder geht das so wie es dort steht und dann 13 ist die 13. woche vom jahr..
`datum`ist das neue Feld in der Tabelle vom Typ DATE. Die MySQL-Funktion Week() ermittelt von einem DATE,DATETIME oder TIMESTAMP die Wochennummer.

Zitat:
Zitat von robydog Beitrag anzeigen
und bei monat wäre dann

Month(datum)=12
Year(datum)=2008
Genau.
MySQL :: MySQL 5.0 Reference Manual :: 10.3 Date and Time Types und MySQL :: MySQL 5.0 Reference Manual :: 11.6 Date and Time Functions
David ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Anfänger und Mysql... Paar Fragen! Finaldragon PHP Tipps 2008 40 03.05.2008 10:28
Fragen zum Suchscript Hilfloser PHP Tipps 2006 3 04.06.2006 19:34
habe ein paar fragen zu REGEX imported_kremser PHP Tipps 2006 11 31.01.2006 15:30
ein paar Fragen Da-JS PHP Tipps 2006 1 08.01.2006 16:36
Ein paar Fragen Diego1978 PHP Tipps 2005-2 2 13.08.2005 00:57
Noch ein paar fragen zu isamchk und INDEX und PRIMARY bendigo Datenbanken 0 29.07.2005 16:52
Paar Fragen zum Formmailer c-f-g PHP Tipps 2005 8 09.05.2005 11:14
Generelle PHP Fragen Madden PHP-Fortgeschrittene 3 11.04.2005 01:24
mal ein paar fragen zu login und "communitysytem" Fraylman PHP Tipps 2004-2 10 30.12.2004 17:32
[Erledigt] Allgemeine Anfänger Fragen PHP Tipps 2004-2 5 20.12.2004 14:57
[Erledigt] Ein paar Fragen! HELP! Off-Topic Diskussionen 9 07.12.2004 13:15
ein paar fragen! PHP Tipps 2004-2 18 16.11.2004 12:59
Ein Paar Fragen PHP Tipps 2004-2 6 10.11.2004 19:21
[Erledigt] Lamp unter Suse 9.1 / Paar Fragen! Server, Hosting und Workstations 2 21.08.2004 22:53
[Erledigt] Fragen über Fragen... wer kann helfen? PHP Tipps 2004 2 08.07.2004 21:12

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php mysql tagesauswertung

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:31 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum