Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Datum
falken03 25-12-2004, 10:20 Hallo zusammen
Ich habe folgendes Problem:
Ich habe eine DB mit verschiedenen Terminen. Die Termine sind mit dem Format "date", also z.B. 2004-12-31 gespeichert.
Nun möchte ich herauslesen können, ob in den nächsten drei Tagen ein Termin ist.
Gibt es da eine Möglichkeit?
Danke und tschüss, Falken03
schau dir zB mal INTERVAL oder BETWEEN in der mysql-doku an.
falken03 25-12-2004, 11:09 Hallo
da muss ich aber doch zwei werte haben die ich vergleichen kann.
Mein Problem liegt eher darin, dass ich das heutige Datum habe und wissen möchte 1. welches datum haben wir in 3 tagen und 2. ob in diesen 3 tagen ein Termin ist, dass kann ich dann mit between machen.
aber was ich suche ist sowas: 2004-12-31 + 2 Tage = 2005-12-02
Gruss
Payne_of_Death 25-12-2004, 12:23 Original geschrieben von falken03
Hallo
da muss ich aber doch zwei werte haben die ich vergleichen kann.
Mein Problem liegt eher darin, dass ich das heutige Datum habe und wissen möchte 1. welches datum haben wir in 3 tagen und 2. ob in diesen 3 tagen ein Termin ist, dass kann ich dann mit between machen.
aber was ich suche ist sowas: 2004-12-31 + 2 Tage = 2005-12-02
Gruss
Lies das Mysql Manual....
Es gibt
Date_Add
INTERVAL
NOW
Warum sollst du dann bitte keine 2 Werte haben können :confused:
falken03 25-12-2004, 12:31 Hallo
der erste wert wäre NOW und der 2. müsste ja NOW + 3Tage sein...
sogesehen habe ich 2 werte aber ich kann den 2. nicht definieren... also wie kann ich bestimmen welches datum, dass das NOW + 3Tage ist?
somit kann ich dann sagen ob in den nächsten 3 Tagen ein Termin ansteht, oder mache ich dies viel zu kompliziert ? :confused:
Vielen dank für eure Hilfe! Gruss
Payne_of_Death 25-12-2004, 12:53 Du liest nicht das ist dein Problem !....
DATE_ADD(NOW(),INTERVAL 2 DAY)
falken03 26-12-2004, 09:38 ähm doch ich habe gelesen aber solange dies nicht funktioniert kann ich auch nichts dafür!
was ist da falsch?
$result = mysql_query(SELECT DATE_SUB("1998-01-02", INTERVAL 31 DAY);
da ist nix dran falsch ... was "funktioniert" denn nicht?
MelloPie 26-12-2004, 11:07 deine anführungszeichen...
falken03 26-12-2004, 11:40 das mit den anführungszeichen war wohl wirklich ein problem!
habe das ganze jetzt mit anführungszeichen versehen, sodass es keine fehler mehr gibt
$result = mysql_query("SELECT DATE_SUB('1998-01-02', INTERVAL 31 DAY");
allerdings, wenn ich versuche die variable $result auszugeben ist sie leer!!!
Original geschrieben von falken03
allerdings, wenn ich versuche die variable $result auszugeben ist sie leer!!!
1. mysql_error() ist dein freund
2. was erwartest du denn in $result?
MelloPie 26-12-2004, 12:54 rtfm
$result ist eine resource ID
falken03 26-12-2004, 14:01 1. was ich erwarte ist: -> 1997-12-02
2. was bringt mir eine ResourceID?
3. aber kann es denn so schwer sein ? ich möchte ja nur wissen welches datum in 3 tagen ist und ob in ein datum in dieser zeitspanne in meiner Tabelle existiert...
Original geschrieben von falken03
1. was ich erwarte ist: -> 1997-12-02
mhm, das leben ist kein wunschkonzert ... mysql auch nicht
2. was bringt mir eine ResourceID?alles mögliche => rtfm
3. aber kann es denn so schwer sein ? ich möchte ja nur wissen welches datum in 3 tagen ist und ob in ein datum in dieser zeitspanne in meiner Tabelle existiert... nö, ist eigentlich ganz einfach, wenn man zumindest grundlagen mitbringt: www.schattenbaum.net <= da anfangen und mit php.net + mysql.de weitermachen
falken03 26-12-2004, 14:56 nö, ist eigentlich ganz einfach, wenn man zumindest grundlagen mitbringt: www.schattenbaum.net <= da anfangen und mit php.net + mysql.de weitermachen
des is von mysql.de :
mysql> SELECT DATE_SUB("1998-01-02", INTERVAL 31 DAY);
und da ich es nicht geschaffe das ganze in mit php zum laufen zu bringen , wäre ich um ein wenig konstruktive hilfe dankbar!
und wenn es für dich ja so einfach sein sollte, dann HILF doch anderen, denen es nicht so einfach fällt und sich darum bemühen zu einer lösung zu kommen.
mit deinen Sprüchen komme ich nicht wirklich weiter!
Original geschrieben von falken03
und da ich es nicht geschaffe das ganze in mit php zum laufen zu bringen , wäre ich um ein wenig konstruktive hilfe dankbar!daher der hinweis auf schattenbaum.net
und wenn es für dich ja so einfach sein sollte, dann HILF doch anderen, denen es nicht so einfach fällt und sich darum bemühen zu einer lösung zu kommen.
mit deinen Sprüchen komme ich nicht wirklich weiter! programmieren heisst NICHT: codeschnipsel zusammen zu klöppeln ... wenn hilfe für dich darin besteht, fertigen code zu erhalten, ist das hier nicht ganz einfach. hier gibt es nur hilfe zur selbsthilfe.
und die sieht so aus:
- starte bei schattenbaum => absolute grundlagen
- schau dir bei php.net an, was welche mysql_* funktion macht
- häufige probleme werden bei www.php-faq.de gelöst
- die mysql-doku hast du schon gefunden
falken03 26-12-2004, 15:43 ich verstehe dich ja schon, dass ihr nicht die codes für andere schreibt!
aber es ist also wirklich nicht so, dass ich code zusammen suche und was zusammenbastle... aber lassen wir das....
habe mir die seite schattenbaum.de nochmals angeschaut aber zu meinem problem sind dies doch einwenig zu sehr grundlagen!
habe danach bei php.net die mysql_* angeschaut...
kannst mir immerhin sagen ob ich mit
mysql_result ( resource Ergebnis-Kennung, int Datensatz [, mixed Feld])
auf dem richtigen weg bin und ob ich mit dem hier
$result = mysql_query("SELECT DATE_ADD(NOW(), INTERVAL 3 DAY");
auch irgendwann zu meinem ziel gelange?
MelloPie 26-12-2004, 15:45 schau Dir mysql_fetch_array(),
mysql_fetch_assoc() und mysql_fetch_array() an
falken03 26-12-2004, 16:06 bei mysql_fetch_array kommt bei mir dies:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
$result = mysql_query("SELECT DATE_SUB('1998-01-02', INTERVAL 31 DAY");
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
echo $row[0];
}
mysql_fetch_array(): supplied argument is not a valid MySQL result resource dann benutze doch endlich mysql_error(), dann siehst du, wo die klammer fehlt.
falken03 26-12-2004, 22:31 oke oke oke jetzt hab auch ichs gecheckd! :D
klasse leute! danke vielmals! :rocks:
|
|