Folgende Daten in einer ListBox anzeigen.

Hannibal

Erfahrenes Mitglied
Guten Tag

Ich habe eine Datenbanktabelle in der "Wetterdaten" gespeichert werden und zwar in 15 Minuten Abständen.

Also die Einträge sehen so aus:


Time Richtung WindSpeed AussenTemp WintergartenTemp Licht
2004-01-20 23:00:00 N 3 1 13 3

Für meine Frage ist jetz nur der Time wert wichtig!

Diese Werte sehen wie oben schon sichtbar, so aus:

2004-01-20 23:00:00
2004-01-20 23:15:00
...

Jetz möchte ich auf einer Übersichtsseite. Den Tag auswählen können, welcher dann angezeigt werden soll.

Aber wie lese ich nun all diese Werte als 1 Tag aus?

Ich hoffe mal es ist ungefär klar was ich meine.

Gruss
 
Sprich der user gibt dir den tag an (monat und jahr auch oder nimmst du da den aktuellen?). Deine Ausgabe soll dann quasi nur die Stunden ausgeben?

Dann würde ich das Datum im sql-Statement umformatieren das du nur die Stunden hast und im where eben den Tagesbereich nehmen.

z.B. so

PHP:
$tag = $_POST['tag']; //oder wie auch immer ;)

$monat = date("m");
$jahr      = date("Y");
//oder list($monat,$jahr) = explode("-", date("m-Y") );

$sth = mysql_query("SELECT DATE_FORMAT(`deindatum`,'%H:%i')... WHERE `deindatum`>= '$jahr-$monat-$tag 0:0:0' AND `deindatum`>= '$jahr-$monat-$tag 23:59:59'");

und aus den Zurückgeliferten Daten baust du deine Listbox auf...
 
Also der User kann nicht ein Datum "angeben" er soll nur aus den vorhandenen auswählen können.

Also es sollen einfach die Tage in der Listbox aufgeführt werden, welche "gespeichert" wurden und diese soll er zur auswahl haben.

Dass ganze ist Momentan nur zu Demo Zwecken und ich habe 2 Test Tage eingeben, welche in der Liste erscheinen sollen, aber natürlich dynamisch.
 
ah jetzt hab ichs verstanden, du willst quasi alle Tage zu denen Werte gepseichert wurden aus der DB rausholen, aber die Uhrzeit stört quasi... das geht dann so:

PHP:
SELECT `created` 
FROM `calls_raw` 
GROUP BY DATE_FORMAT( `created` , '%Y-%m-%d' )

Tabellenname und feld musst du halt durch deine erstezen... Aber hab ich gerade mal getestet und geht.
 
Das ganze Funktioniert :D

Jetzthabe ich eine schön übersichtliche Liste der Tage.

Jetzt möchte ich nachdem das Form mit einem Tag abgeschickt wird, die Daten dieses Tages auslesen, dass klappt jedoch nocht nicht, weil ich ja bei dieser Abfrage die "Stunden, Minuten und Sekunden" einfach ignorieren will.
 
Na klappt schon du musst nur die Abfrage richtig machen ;)
Das würde dann dem Statement entsprechen, welches ich in meinem ersten Post geschrieben habe... Musst natürlich die Daten für jahr, monat, tag entsprechend auslesen.
Kannst ja auch das überlieferte mysql-Datum aus der Listbox entsprechend splitten:

PHP:
list($jahr,$monat,$tag) = explode("-", $_POST['datum']);
 
Ok Danke dass ist sehr wichtig, dass mach ich dann.

Nun habe ich die Abfrage vorerst mit einem festen Wert im SQL String und zwar mit LIKE und dann holt es mir mal die richtigen Daten.

Jetz versuche ich gerade dass in den nötigen Array zu schreiben, so dass daraus eine Grafik entsteht :D
 
Mensch ich stell mich vielleicht wieder an. :(

Jetzt habe ich einen Array den ich nun dynamisch füllen muss/will.

Der sieht nun so aus:

PHP:
$graph->SetDataValues(array(
array("08.00 Uhr", 20, 25),
array("10.00 Uhr", 15, 20),
        array("12.00 Uhr", 30, 23),
        array("14.00 Uhr", 15, 19),
        array("16.00 Uhr", 24, 29),
        array("18.00 Uhr", 13, 9),
        array("20.00 Uhr", 5, 25),
        array("22.00 Uhr", 7, 10),
        array("00.00 Uhr", 2, 17),
));

Nun möchte ich genau diesen Array mit 3 meiner Tabllenwerte füllen. Aber dann müsste dennoch SetDataValues aufgerufen werden, weil dieses im Include verwendet wird.

Nun kann ich aber nicht innerhalb von "SetDataValues(array(" meine SQL Abfrage mit While plazieren.

Wie muss ich das machen? Wenn ich

$graph->SetDataValues(array(

));

in mein SQL While nehme, dann wird nur 1 Wert in den Array geschrieben. :(
 
also jede Uhrzeit steht für einen Datensatz, also einfach dein Array daraus generieren und nach dem While oder was auch immer die Daten zuweisen:

PHP:
$data = array();

// hier den Statement, die ressource wäre jetzt hier in $sth gespeichert

while( $row = mysql_fetch_assoc($sth) )
{
  $data[] = array($row['urhzeit_oderwiedaszeitfeldauchimmerheisst']." Uhr", 1,2);
   //woher die zwei anderen Parameter kommen hast du leider nicht gesagt...
}

//nun ist dein gewünschtes 2D array fertig....

$graph->SetDataValues($data);
unset($data);

oder meintest du was anderes?
 
Zurück