Bedingt durch eine Erkrankung, habe ich ein wenig Zeit über. Da fällt einem ja irgendwann die Decke auf den Kopf, also ablenken....
61791adf-fc7f-45b2-b7e7-d7bd108da5c3-grafik.png
Mal die Tabelle hübsch gemacht und noch eine Monatsansicht gebastelt. Das war nicht so ganz einfach, vermutlich habe ich wieder zu kompliziert gedacht 😉 Das Problem war folgendes.
jeweils ein Datensatz pro Tag
jeweils zu einer fixen Uhrzeit
Und hier kommt das Problem, für die Datensätze nehmen wir 07:00 Uhr an, die sind aber oft zu einer anderen Zeit gespeichert. Es gibt so Ungenauigkeiten, des Sensors(?), das ich die Datensätze so um
07:00
07:01
07:02
in der Datenbank stehen habe. Macht es für mich MySQL-Experten 🙂 schon etwas schwierig. Meine PDO-Abfrage sah so aus.
$statement = $pdo->prepare("SELECT * FROM feinstaub WHERE datum = :date AND time = :time");
Und was nun? Das Datum ist nicht so das Ding, einfach mit
while($i < 31)
durchlaufen und fertig. Aber was mache ich mit der Zeit 🤔 Ich habe dann nach vielen Versuchen einfach folgendes gemacht. Ich schaue in der Datenbank nach, ob es Einträge für 07:00 gibt, wenn JA setze ich die Zeit 07:00, wenn NEIN suche ich nach Einträgen mit 07:01 usw.
Beispiel für 07:00
$b_time = '07:00' ;
$statement = $pdo->prepare("SELECT * FROM feinstaub WHERE datum = :date AND time = :time");
$statement->execute(array('date' => $date3, 'time' => $b_time));
if($statement->rowCount() > 0) {
$a_time = '07:00' ;
}
Das noch für 07:01 & 07:02 und fertig. Jetzt holt er alle Datensätze aus der DB, und zwar jeweils eine am Tag, den ersten ab 07:00 Uhr.
Wer eine elegantere Lösung kennt, immer her damit. Ich lerne gerne 🙂