AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP] Besuche nach Wochentagen auswerten
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] Besuche nach Wochentagen auswerten

Ein Thema von Matze · begonnen am 7. Apr 2007 · letzter Beitrag vom 7. Apr 2007
Antwort Antwort
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#1

[PHP] Besuche nach Wochentagen auswerten

  Alt 7. Apr 2007, 20:58
Hi zusammen

Ich erstelle mir mit folgendem Code, der seit einigen Monaten läuft, ein Array, dass mir die Anzahl der Besucher nach Wochentagen geordnet ausgibt (Montag: x Besucher, Dienstag: y Besucher, ...).

Code:
$stat_weekday_temp = [color=#0C0F96][b]array[/b][/color]();
[color=#0C0F96][b]foreach[/b][/color] ($arr_visit_stat_data [color=#0C0F96][b]as[/b][/color] $visit_stat_data)
{
   $date_info = getdate($visit_stat_data['visit_counter_date']);

   [color=#0C0F96][b]if[/b][/color] ([color=#0C0F96][b]isset[/b][/color]($stat_weekday_temp[$date_info['wday']]))
   {
      $stat_weekday_temp[$date_info['wday']] += $visit_stat_data['visit_counter_value'];
   }
   else
   {
      $stat_weekday_temp[$date_info['wday']] = 0;
   }
}

// reformat [color=#0C0F96][b]array[/b][/color]
// getdate(): sunday = 0, after reformatting: monday = 0
$stat_weekday = [color=#0C0F96][b]array[/b][/color] ();
for ($i = 0; $i < count($stat_weekday_temp) - 1; $i ++)
{
   [color=#0C0F96][b]if[/b][/color] ([color=#0C0F96][b]isset[/b][/color]($stat_weekday_temp[$i + 1]))
   {
      $stat_weekday[] = $stat_weekday_temp[$i + 1];
   }
}
$stat_weekday[] = $stat_weekday_temp[0];
Zur Erklärung hier der Aufbau der Arrays nach Ablauf des Codes:

$arr_visit_stat_data:
Code:
Array
(
    [0] => Array
        (
            [visit_counter_date] => 1175896800
            [visit_counter_value] => 122
        )

    [1] => Array
        (
            [visit_counter_date] => 1175810400
            [visit_counter_value] => 381
        )
...
$stat_weekday_temp:
Code:
Array
(
    [6] => 8313
    [5] => 8621
    [4] => 8759
    [3] => 8918
    [2] => 8919
    [1] => 8547
    [0] => 8307
)
$stat_weekday:
Code:
Array
(
    [6] => 8313
    [5] => 8621
    [4] => 8759
    [3] => 8918
    [2] => 8919
    [1] => 8547
    [0] => 8307
)
Es kann sein, dass der Code stimmt, doch ich bezweifel es stark, denn das aus den Daten erzeugte Diagramm sieht aus, wie im Anhang zu sehen. Normalerweise sind am Wochenende mehr Leute im Internet unterwegs als unter der Woche, doch bei mir ist es genau umgekehrt. Daher denke ich, muss ich irgendwo einen Denkfehler im Code haben. Seht ihr da einen?

Grüße und frohe Ostern wünscht
Matze
Miniaturansicht angehängter Grafiken
wochentage_105.png  
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#2

Re: [PHP] Besuche nach Wochentagen auswerten

  Alt 7. Apr 2007, 22:12
also erstmal könntest du dir mit einem einzeiler sehr viel LOC und damit fehlerquellen sparen:

Code:
$stat_weekday[] = array_shift($stat_weekday);
schneidet das erste element vom array ab und pappt es hinten wieder dran.

Was du damit ersetzt sollte klar sein, deinen ganzen "reformat"-teil.
Lukas Erlacher
  Mit Zitat antworten Zitat
Daniel G
(Gast)

n/a Beiträge
 
#3

Re: [PHP] Besuche nach Wochentagen auswerten

  Alt 7. Apr 2007, 22:23
Zitat von Matze:
Normalerweise sind am Wochenende mehr Leute im Internet unterwegs als unter der Woche
Äh... Wie kommst du zu dieser Annahme? Mal ein Blick in meinen AWStats-Log:

Zitat:
01.03.2007 103
02.03.2007 137
03.03.2007 107
04.03.2007 111

05.03.2007 109
06.03.2007 109
07.03.2007 123
08.03.2007 94
09.03.2007 107
10.03.2007 95
11.03.2007 75
(Wochenenden sind fett kursiv...
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#4

Re: [PHP] Besuche nach Wochentagen auswerten

  Alt 7. Apr 2007, 22:28
Noch was - hast du einen Unix-TImestamp drin?

Dann bekommst du den Wochentag per
Code:
date('w',$timestamp);

auch schön von 0-6, mit Sonntag=0.

Das scheint mir besser als deine komische if-struktur...
Lukas Erlacher
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: [PHP] Besuche nach Wochentagen auswerten

  Alt 7. Apr 2007, 23:11
Mit den PHP-Datumsfunktionen muss ich mich mal näher auseinandersetzen, merke ich. *g* array_shift kannte ich auch noch nicht. Wobei die Funktion wohl auch nichts anderes macht, könnte ich mir vorstellen.

Zitat von Daniel G:
Äh... Wie kommst du zu dieser Annahme?
Ähm davon ging ich aus. Rücksprachen mit ein paar Leuten ergaben auch nichts, das dagegen spricht. Aber dann ist dies vielleicht gar nicht so.

Zitat von DGL-luke:
Noch was - hast du einen Unix-TImestamp drin?
Jupp.

Zitat von DGL-luke:
Das scheint mir besser als deine komische if-struktur...
Komische if-Struktur. Pff. Das brauch ich aber so oder so, denke ich. Ich wüsste nicht, wie ich das umgehen soll, außer alle 7 Indizes zu Beginn anzulegen und mit 0 zu initialisieren.


Danke für eure Antworten.
  Mit Zitat antworten Zitat
Antwort Antwort


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 aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz