datumsberechnungen !?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • datumsberechnungen !?

    ich habe in einer datenbank ein datum in folgendem format: 25.07.2001 gespeichert!

    jetzt möchte ich gerne eine abfrage machen, sinngemäß:

    wenn das ausgelesene datum aus der tabelle + 14 Tage das heutige datum ergibt, dann mach das : ..

    kann mir jemand sagen ob das möglich ist, ohne das ich dann den 39.7.2001 erhalten werde ..

    danke euch & gruss
    patrick

  • #2
    jo das geht!

    mysql_query(" select datum from $tabelle where date_add(datum, interval 14 day) = currdate() ")

    natürlich muss deine datumsspalte in der db auf date Y-m-d formatiert sein!!!!

    mfg
    schmalle



    [Editiert von schmalle am 05-09-2001 um 20:24]
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      hi
      erstmal danke für die hilfe.. aber so ganz geht es nich .. meine abfrage sieht so aus :

      select * from cclogin_user_rech where date_add(status_datum, interval 14 day) = '29.07.2001'

      das 29.07.2001 habe ich mal testweise eingesetzt, denn da müsste das script mindestens 1 ergebnis zurückgeben!

      du sagtest das datum muss in der DB date Y-m-d formatiert sein .. was genau meinst damit ? bei mir ist das feld derzeit so formatiert:

      status_datum varchar(10)
      die werte sehen dann halt so aus: 29.07.2001

      hm .. liegts daran ?

      gruss
      patrick

      Kommentar


      • #4
        daran leigt es.

        du musst die ganze spalte als "date" formatieren. sonst kann die db nicht mit add_date arbeiten.

        h.a.n.d.
        Schmalle

        http://impressed.by
        http://blog.schmalenberger.it



        Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
        ... nur ohne :-)

        Kommentar


        • #5
          dankeeee .. es geht !!
          ich hatte zwar kurzzeitig die db zerstört als ich das feld umformatiert habe .. aber naja, shit happens .. bin halt noch kein profi

          trotzdem meinen besten dank an die megaschnelle hilfe !!

          kann sein das ich nochmal was fragen werde.. sorry !!!

          trotzdem danke & gruss
          patrick

          Kommentar


          • #6
            für fragen braucht man sich hier nicht zu entschuldigen ... dafür ist so´n forum ja da!

            du glaubst nicht, was ich schon für seltendämliche sachen gefragt hab

            hab (fast) immer ne antwort bekommen. und wenn etwas so RICHTIG kompliziert ist frag Titus

            h.a.n.d.
            Schmalle

            http://impressed.by
            http://blog.schmalenberger.it



            Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
            ... nur ohne :-)

            Kommentar


            • #7
              hi schmalle!
              danke nochmal .. ich habe aber eine kleine frage .. vielleicht kannst du mir da helfen.

              ich habe jetzt jede menge datum`s (lol) die in einer falschen formatierung in der db sind .. und zwar sind in der tabelle "cclogin_user_rech" alle werte aus "rech_dat" so formatiert : tt.mm.yyyy (05.09.2001) ... kann ich die irgendwie mit einem script umsetzen per phpmyadmin ??

              das wäre goil ohne ende

              dann nochwas .. wenn ich das datum nun aus der oben genannten tabelle auslese... wie bekomme ich das dann hin, dass es wieder normal formatiert wird ( 05.09.2001 anstatt 2001-09-05 ) .. auch hier wäre eine lösung ... goil

              danke dir
              gruss
              patrick

              Kommentar


              • #8
                also damit haste jeden Amerikaner beleidigt aber egal

                Aslo schreib dir doch ein script, ich glaube zwar dass du das mit querys direkt machen kannst da MySQL reguläre ausdrücke beherrst aber nach ich würde einfach das alte feld auslesen like SELECT olddatum FROM tabelle;
                dann eine schleife wo drin steht :
                $gesplitet = explode(".",$alt);
                $neu = $gesplitet[2]."-".$gesplitet[1]."-".$gesplitet[0];
                und dann wieder die $neu als Insert in die neue Spalte rein.

                naja und umgekehrt ist es genauso nur musste das trennzeichen im explode ändern.

                Kommentar


                • #9
                  genau, so wie joel hatte ich mir das auch vorgestellt.

                  zu deinem 2. prob.

                  um ein datum, das in einer db steht umzuwandeln benutzt du folgende abfrage:

                  select date_format(datum, 'd.m.Y') from $tabelle

                  h.a.n.d.
                  Schmalle

                  http://impressed.by
                  http://blog.schmalenberger.it



                  Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                  ... nur ohne :-)

                  Kommentar


                  • #10
                    hi meister!
                    danke für eure tipps ..

                    schmalle: .. ich frage die table ja schon ab und gebe den wert dann so aus :

                    <? echo $rech_dat ?>

                    wenn ich dein code da reinsetze gehts nich .. in die SELECT abfrage arbeite ich mit SELECT * from ..

                    wie kann ich das in <? echo $rech_dat ?> regeln ??

                    danke & gruss
                    patrick

                    Kommentar


                    • #11
                      warum baust du dann die select abfrage nicht einfach so um, wie ich es schrieb? oder hast du das versucht, und es ging nicht????

                      ansonsten musste halt $rech_dat umbauen:

                      Code:
                      $rech_dat = "2001-12-01"; // Beispiel
                      
                      $teilen = explode("-",$rech_dat); 
                      $neu = $teilen[2].".".$teilen[1].".".$teilen[0]; 
                      
                      echo $neu // sollte ergeben: 01.12.2001

                      h.a.n.d.
                      Schmalle

                      http://impressed.by
                      http://blog.schmalenberger.it



                      Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                      ... nur ohne :-)

                      Kommentar


                      • #12
                        perfekt schmalle .. so geht dem
                        danke dir!

                        bei deiner ersten variante, hätte ich ja alles in der SELECT mit aufführen müssen was ich abfragen will, oder ??

                        also : SELECT dies, das, jenes, date_format(datum, 'd.m.Y') from table...

                        oder kann man da sagen SELECT *, date_format(datum, 'd.m.Y') from $table ??

                        du siehst, ich muss noch viel lernen ...

                        danke & gruss
                        Patrick

                        Kommentar


                        • #13
                          select dies, das, usw. from ...

                          waere richtig gewesen. wenn man den stern ( * ) nutzt, kann man keine weiteren optionen mehr einfügen. der stern steht eben für alles ...

                          und lernen tun wir hier alle noch ( ausser titus )

                          c ya und viel spass noch hier
                          h.a.n.d.
                          Schmalle

                          http://impressed.by
                          http://blog.schmalenberger.it



                          Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                          ... nur ohne :-)

                          Kommentar


                          • #14
                            richtig schmalle ... wenn ich mal ein Problem habe, das ich mit Hilfe der php-Doku nicht lösen kann, dann ist das meist so abgehoben, das mir nicht zu helfen ist.

                            Ach übrigens: "SELECT *, date_format(datum, 'd.m.Y') from $table" sollte problemlos funktionieren. Das *chen wird ja von mySQL nur durch eine Liste aller Felder ersetzt. Aber ohne * bist du schneller.
                            mein Sport: mein Frühstück: meine Arbeit:

                            Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                            Kommentar

                            Lädt...
                            X