phpbar.de logo

Mailinglisten-Archive

[php] Zeitraeume

[php] Zeitraeume

Ralf Ebert Ebert.Ralf_(at)_kamenz.de
Tue, 30 Mar 1999 19:09:45 +0200


Hallo,

erstsmal dankeschoen an Stephan, mit Hilfe seines Tips habe ich es zumindest
geschafft, eine Tabelle mit allen sich ueberlappenden Terminen zu bekommen.
Schwierig war nur, dass ich einem den Start als Datetime hatte und die Dauer
als int in Minuten. Ich habe jetzt folgende Abfrage:

select vor1.id, vor2.id, vor1.datum, vor2.datum, vor1.dauer
from vorgaenge as vor1 join vorgaenge as vor2

where week(vor1.datum)=week(now())
and to_days(vor1.datum)=to_days(vor2.datum) and
and vor1.datum!=vor2.datum and

((to_days(vor1.datum)*24*60)+(hour(vor1.datum)*60)+minute(vor1.datum)+vor1.d
auer)>
(to_days(vor2.datum)*24*60)+(hour(vor2.datum)*60)+minute(vor2.datum)

(to_days(vor1.datum)*24*60)+(hour(vor1.datum)*60)+minute(vor1.datum)<
(to_days(vor2.datum)*24*60)+(hour(vor2.datum)*60)+minute(vor2.datum)+vor2.da
uer;

Das funktioniert ja schon ganz gut. Ich bin noch nicht ganz sicher mit SQL,
aber mir ist es nicht gelungen, die Umrechnung des Datetime in Minuten in
den SELECT Teil zu bekommen und dann eine Abfrage mit WHERE darauf zu machen
(as dauer1 und dann dauer1+start1 o.ae. funktioniert nicht).
Wie wuerdet ihr das optimieren ?
Bzw. es ist leider noch nicht ganz das, was ich gesucht habe :-( Am besten
waere eine Tabelle aller Termine, mit der jeweiligen Angabe, mit wievielen
Terminen sich dieser ueberlappt. Aber ich habe keine Idee, wie man die SQL
Query dafuer umformen muesste...
Vielen Dank im voraus,

Mit freundlichen Gruessen
Ralf Ebert


php::bar PHP Wiki   -   Listenarchive