phpbar.de logo

Mailinglisten-Archive

[php] Wie finde ich einen zeitlich relevanten Eintrag in MySQL?

[php] Wie finde ich einen zeitlich relevanten Eintrag in MySQL?

Hans Egg hans.egg at swissonline.ch
Mon Sep 29 23:37:21 CEST 2008


Hallo Christian

Christian Knorr schrieb

> Hallo zusammen,
> es geht um eine Tabelle, die als id Datum und Uhrzeit hat (yyyy-mm-dd
> hh:mm:ss) Eingeben muss man noch den (Strom-)Zählerstand.
> Die Differenz, die beim "Anfügen" eines Zählerstandes
> errechnet wird, trägt php unsichtbar ein.
> Jetzt tritt ein Problem auf, wenn ich einen Zählerstand nicht anfüge,
> sondern einfüge (in alten Rechnungen gefunden z.B.).
> Bisher errechnet sich die Differenz auf jetzigem Zählerstand
> minus letztem Zählerstand. Ich müsste hier aber 'den' alten
> Zählerstand suchen, der sich
> zeitlich unmittelbar 'vor' dem einzufügenden befindet.
> Aber selbst dieser Zählerstand muss nicht sortiert sein, sondern kann
> ebenfalls später nachgetragen worden sein.
> 
> Bevor ich mich jetzt ins Verderben programmiere, wollte ich
> mal anfragen, ob
> Ihr auch den Weg über das Ummodeln in Timestamp gehen würdet.
> Oder bessere Ideen?

Du suchst alle Einträge, die älter sind als der Einzufügende und sortierst
von jung nach alt. Der erste Datensatz ist dann der unmittelbar
vorhergehende, die Zeit findest du so:

SELECT * FROM zaehlerstandtabelle 
WHERE timestamp < $gesuchtezeit 
ORDER BY TIMESTAMP DESC LIMIT 1

Ich hoffe, ich habe dich richtig verstanden.

Gruß in die Nacht
Hans



php::bar PHP Wiki   -   Listenarchive