Tages/Wochen/Monats/Statistik

drabbit

Mitglied
Hallo zusammen,

ich habe folgende Aufgabenstellung: Ich soll ein Statistik-Tool anfertigen mit hilfe von Php, welches Daten aus der Datenbank ließt und dann ausgibt wie viele Artikel man am Tag/Woche/Monat verkauft hat.

Mir ist schon klar, dass ich das ganze mit php erledigen muss, sprich mit sql-querry die datenbank ansprechen werde und die dann die gewünschten Daten liefern soll.

Was ich jetzt nicht weiß (vielleicht denke ich auch nur zu kompliziert) ist, wie ich es am Userfreundlichsten gestalten kann, bei der Datumsauswahl.

Ich hätte dabei gedacht dass ich mir in ein Select-Feld das Datum hole von der Datenbank, sprich die Kalenderwoche und einmal noch das Monat. Ich weiß jedoch nicht ob das nicht vielleicht einfacher geht mit einer Funktion, die das Datum generieren lässt. Vorallem bei den Wochen bin ich noch am überlegen wie ich das anstellen werde. Gibt es eine Möglichkeit die mir die einzelnen Kalender Wochen ausgibt?

Ich hoffe ihr könnt mir weiterhelfen und liefert mir den benötigten Denkanstoß. Ich bedanke mich schon jetzt für eure Mühe, den es ist ja keine Selbstverständlichkeit dass man so oft und schnell hilfe bekommt, wie es hier bis jetzt immer der fall war.

Lg und noch einen schönen Sonntag :)
 
Angenommen ich lade mir so ein Kaleder-Script auf die seite, wie frage ich dann am besten ab welcher Tag angeklickt wurde?

mit if(isset($kaledertagvar)) ?

Wo ich auch schon länger am rätseln bin ist das mit der woche... ich meine ich kann ja nicht einfach 7 Tage abziehen oder?
 
Danke das mit der Woche hab ich mir da echt komplizierter vorgestellt.

Nur wie ich die Variabel aus dem Kalender-Script (hab mir noch keines geladen) lese ist mir noch unklar - soll das mittels formular also Post/get/request funktionieren? Dann bräuchte ja jeder tag ein Fromfield mit einer action oder?
 
Schau dir doch verschiedene Kalenderskripte an, das siehst du doch wie das zurückgegeben wird.
Dementsprechend musst du das dann nur in PHP umwandeln.
 
Das mit dem Kalender ist sicher die schönste Lösung, aber ich brauche nur etwas ganz einfaches und simples.

Ich hätte da an ein Drop Down gedacht. also je ein Drop-Down-Reiter für Tag/Monat/Jahr gibts da eine möglichkeit so etwas generieren zu lassen? Mir würde da nur eine Schreilfe einfallen um die Felder zu erzeugen.
 
Eine Schleife ist doch wunderbar. Musst ja immer nur 1 dazuzählen, pro Durchlauf und Ausgabe eines Select-Eintrages (oder Radio oder sonst was ^^)
 
Und am Ende einfach überprüfen, ob der Monat 31 Tage hat.
Das mit dem Kalender habe ich gesagt, weil es so aussah, als ob du es gerne damit machen möchtest ;)
 
Versuch doch mal das hier:

PHP:
<html>
<head>
<title>Kalender-Test</title>
</head>
<body>
<?php
define('YEAR_BEGIN_AT', 1980);
define('MAX_YEARS', 40);

$current_day             = date("d");
$current_month             = date("m");
$current_year             = date("Y");

if(isset($_GET['day']) && isset($_GET['month']) && isset($_GET['year']))
{
    $current_day     = intval($_GET['day']);
    $current_month     = intval($_GET['month']);
    $current_year      = intval($_GET['year']);
}

echo "Ausgewähltes Datum: $current_day.$current_month.$current_year <br/><br/>";

$last_day_of_Month        = mktime(0,0,0, intval($current_month+1), 1, intval($current_year)) - 60 * 60 * 24;

$current_month_num_days    = date("d", $last_day_of_Month);
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="get">
<select name="day" onchange="submit();">
<?php 
for($d = 1; $d <= $current_month_num_days; $d++)
{
    echo '<option value="'.$d.'"';
    if($d == $current_day)
    {
        echo ' selected="selected"';
    }
    echo '>'.$d.'</option>';
}
?>
</select>

<select name="month" onchange="submit();">
<?php 
for($m = 1; $m <= 12; $m++)
{
    echo '<option value="'.$m.'"';
    if($m == $current_month)
    {
        echo ' selected="selected"';
    }
    echo '>'.date("F", mktime(0,0,0,$m,1,$current_year)).'</option>';
}
?>
</select>

<select name="year" onchange="submit();">
<?php 
for($y = YEAR_BEGIN_AT; $y < YEAR_BEGIN_AT + MAX_YEARS+1; $y++)
{
    echo '<option value="'.$y.'"';
    if($y == $current_year)
    {
        echo ' selected="selected"';
    }
    echo '>'.$y.'</option>';
}
?>
</select>
</form>
</body>
</html>

Zugegeben ist es sehr hässlicher Code, aber es funktioniert.
 
Zurück