#1 8. Dezember 2011 DATEDIFF? Hey, kann mir mal jemand erklären, warum zur Hölle DATEDIFF bei mir nicht funktioniert? Es ist doch vorgesehen, dass man es so nutzt: Code: DATEDIFF(exp1, exp2) und erhält die Differenz in Tagen. Das hier ist mein Ansatz: Code: // Die naechsten Termine in der Zeitspanne X Tage $query = mysql_query("SELECT * FROM `ims_tests` WHERE DATEDIFF(CURRENT_TIMESTAMP, `testdatum`) <= 5 ORDER BY `testdatum`"); Das Feld 'testdatum' hat den Wert timestamp und ich arbeite mit CURRENT_TIMESTAMP bei Einträgen. Weiss jemand mehr? + Multi-Zitat Zitieren
#2 8. Dezember 2011 AW: DATEDIFF? hi, sql ist nicht immer meine stärke, aber gundsätzlich (bitte berichtigen wenn ich falsch liege) zu WHERE PHP: WHERE activ = 1 oder WHERE activ > 0 also guck ich in der tabelle ob die spalte activ den wert xyz hat. jetzt versuchst du anhand einer berechneten spalte deine abfrage zu machen. PHP: WHERE DATEDIFF ( CURRENT_TIMESTAMP , ` testdatum `)<= 5 also wo soll nun geguckt werden in welcher spalte die differenz von <=5 ist? ungestetet PHP: $query = mysql_query ( "SELECT *, DATEDIFF(CURRENT_TIMESTAMP, `testdatum`) AS datediff FROM `ims_tests` WHERE datediff<= 5 ORDER BY `testdatum`" ); + Multi-Zitat Zitieren
#3 8. Dezember 2011 AW: DATEDIFF? Also so wie ich das in der Dokumentation lese, erwartet DATEDIFF() keinen Timestamp, sondern DATE... MySQL :: MySQL 5.1 Reference Manual :: 12.7 Date and Time Functions Sprich du musst entweder als DATE speichern oder du wandelst den Timestamp jedesmal um... + Multi-Zitat Zitieren
#4 8. Dezember 2011 AW: DATEDIFF? Wenn Du eh Unix-Timestamps hast, wieso subtrahierst Du die Werte nicht einfach miteinander, so dass eine Differenz in Sekunden rauskommt? Die brauchst ja nur dividieren durch 24*3600 und fertig hast Deine Tagesdifferenz. + Multi-Zitat Zitieren
#5 5. Februar 2012 AW: DATEDIFF? Danke für Eure Information! Hab es im Stress leider vergessen, hier gepostet zu haben. Ich weiss, die Lösung war relativ schnell gefunden, ich suche sie wenn ich nachher an meinem privaten Rechner bin und schreibe sie hier hinein. PHP: <? php #platzhalter ?> + Multi-Zitat Zitieren