![]() Mailinglisten-Archive |
Hallo Mathias, am Freitag, 12. Juli 2002 um 17:29 schrieben Sie: >> Ich habe Probleme mit der folgenden Abfrage, bei der "Auslaufdatum" >> und "Benachrichtigungsdatum" MySql Datumsfelder sind. >> > Ah, und welche Probleme hast du genau? Eigentlich nur eine - Sie funktioniert nicht. >> $res = mysql_db_query($dbDatabase, "select * from h_firmenstamm where >> strtotime(Auslaufdatum)-20*86400) < time() && >> empty(Benachrichtigungsdatum)"); >> > Das Query ist nicht sonderlich performant, da > f�r jede Zeile der Datenbank die Funktion > strtotime ausgef�hrt werden mu�. Danke f�r den Hinweis, den ich im Hinterkopf behalten werde. > Davon abgesehen da�: > Note: This function has been deprecated since PHP 4.0.6. Do not use this > function. Use mysql_select_db() and mysql_query() instead. Hoops, war mir nicht bekannt. Woher bekommt man solche Infos, wenn nicht von Dir? > Au�erdem find ich in der mysql-Doku keine funktion time() und strtotime und > vermutlich > wird die auch nciht mit einem Datumsfeld kompatibel sein. Handelt sich eigentlich mehr um php-Funktionen. Und mit dem Einbinden derselben habe ich so meine Probleme. > Schau erst mal in > http://www.mysql.com/documentation/mysql/bychapter/manual_Reference.html#Dat > e_and_time_functions Vielen Dank f�r den Hinweis. Habe ich soeben gemacht. Und es sieht ganz so aus als sei bereits das Beispiel dort die von mir gesuchte L�sung. > Sinnvoller w�re ein Query in der Art (wenn z.b. 1 Tag abgezogen werden soll > .... where (auslaufdatum) < DATE_ADD(CURDATE(), INTERVAL 1 DAY) > Mysql ist n�mlich hinreichend intelligent, festzustellen, da� dann > der rechte Teil des Vergleiches konstant ist, und merkt sich das > bei den ganzen Vergleichen. > Gr��e, Mathias Vielen Dank f�r Deine hilfreiche Unterst�tzung. Du machst Dir kein Bild wie viel (kostbare Lebens)Zeit man mit solch kleinen Problemen verbringen kann, wenn man nicht wei� (wu�te) wo man nachschlagen mu�. -- Mit freundlichen Gr�ssen Reinhold Riedersberger
php::bar PHP Wiki - Listenarchive