Mailinglisten-Archive |
Hallo! Am Sonntag, 23. Dezember 2001 22:33 schrieben Sie: > danke für die schnelle antwort, aber meine woche geht von > donnerstag bis mittwoch. daher schätze ich, dass ich nur mit > WEEK() nicht sehr weit komme. > ich brauche eher eine syntax für ab letzten donnerstag bis > kommenden mittwoch. > sollte ich in der syntax BETWEEN verwenden, erhalte ich > da ein record array von donnerstag bis mittwoch oder nur > die tage dazwischen? > gäbe es evtl die möglichkeit aus CURDATE() die betreffenden > min- und maxtage gleich in der query zu errechnen? Hast Du es mal mit BETWEEN versucht? Hast Du Du Dir mal die Zeit- und Datumsfunktionen angeschaut? Ich habe mit between noch nicht gearbeitet..., deshalb würde ich es so machen. Problem ist, daß Du feststellen mußt, um welchen Tag es sich in der Woche handelt. Du mußt heraus finden, was für eine Differenz bis zum letzten Donnerstag ist. IMHO muß Du es mit Hilfe der Applikation lösen. // ungetestet // mit Applikation $weekday = date('w'); if($weekday == 6) { $zurueck = -2; } // Sa. -2 Tage if($weekday == 5) { $zurueck = -1; } // Fr. -1 Tag if($weekday == 4) { $zurueck = 0; } // Do. -0 Tage if($weekday == 3) { $zurueck = -6; } // Mi. -6 Tage if($weekday == 2) { $zurueck = -5; } // Di. -5 Tage if($weekday == 1) { $zurueck = -4; } // Mo. -4 Tage if($weekday == 0) { $zurueck = -3; } // So. -3 Tage SELECT * FROM tabelle WHERE anlaufdatum>=DATE_ADD(NOW(), INTERVAL $zurueck DAY) AND auslaufdatum>=DATE_ADD(NOW(), INTERVAL $zurueck DAY); Man könnte sich auch mit einem zweiten SQL-Statement helfen und den Tag der Woche heraus finden, rumrechnen und den Wert dann verwenden. Vielleicht könnte man auch irgendwie Funktion miteinander verschachteln und kann alles mit einem SQL-Statement lösen... Mir ist jetzt keine spezielle Funktion bekannt, mit der man das lösen könnte. MfG, André Laugks
php::bar PHP Wiki - Listenarchive