Mailinglisten-Archive |
ANGEL Harald wrote: > Schönen Nachmittag! > > Ich hab eine Tabelle mit Terminen. (Termin, Anfangszeit, Endzeit) > Wie finde ich heraus, wieviele Termine an einem Tag max. gleichzeitig sind? > Ich muß einen Kalender programmieren... Hallo ! Natürlich geht das ... mit einem einfachen join. Indem du die tabelle auf sich selber joinst du brauchst jedoch eine art eindeutige ID für jeden termin-eintrag damit du die fälle wegsortieren kann wo ein eintrag auf sich selbst gejoined wird Also ca. wie folg: SELECT termin1.begin AS begin, termin1.end AS end, termin1.uid AS uid FROM termin AS termin1, termin AS termin2 WHERE termin1.begin==termin2.begin AND termin1.uid != termin2.uid das sucht termine bei denen sich die anfangszeit überschneidet dann musst du nur noch hergehn und in den results suchen. und zwar nach der "uid" (eindeutige id) die am meisten vorkommt. also ca. so: $uids = array(); while ($row = mysql_fetch_assoc($res)) { $uids[$row["uid"]]++ } und in dem array UID musst dann nur noch nach der maximalen zahl suchen. die gibt den termin wieder der mit den meisten anderen zum selben zeitpunkt beginnt. hoffe dir geholfen zu haben, Bernhard ----------------------------------------- Bernhard Kraft <kraftb at mokka.at> MOKKA MEDIENAGENTUR GMBH Mariahilferstrasse 170 1150 Wien T: 01 895 33 33 50 M: 0676 560 14 14 F: 01 895 33 33 20 www.mokka.at -----------------------------------------
php::bar PHP Wiki - Listenarchive