Curdate() - Problem

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

  • Curdate() - Problem

    Moin Leudde

    Ein für einem für Euch vielleicht ein eher kleineres Problem...

    Ich hate in meiner DB ein Datum im Format: 01.07.2010 - 05:47:39

    abgespeichert. Nun gehe ich davon aus, dass ich mit "CURDATE()" die Einträge suchen/ausgeben kann, die exakt 1 Monat zurück liegen.

    Habe shon viel probiert/gesucht mit MONTH oder -30 DAYS aber leider nichts gefunden...

    Bitte um Hilfe


    LG

  • #2
    Hi.

    Wie wäre es mit PHP: strtotime - Manual ?

    streuner
    Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
    der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

    "Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"

    Kommentar


    • #3
      Damit habe ich den Timestamp.... Nützt mir aber nichts. Brauche die letzten 30 Tage aus einem Datum....

      Kommentar


      • #4
        Ähm, weiter unten in dem Link findest einige gute Beispiele (du kannst strtotime doch mit beliebigen Befehlen, wie z.B. date(), koppeln).

        streuner
        Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
        der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

        "Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"

        Kommentar


        • #5
          Habe das jetzt mit einer Datums-Umwandlung und anschließend mit:

          WHERE DATE_ADD(datum,INTERVAL 1 MONTH)<=NOW()

          gelöst, viel einfacher



          Gruß und Danke trotzdem !

          Kommentar


          • #6
            ach...jetzt sehe ich auch gerade, dass Du in deinem ersten Beitrag geschrieben hast "Datenbank" - völlig überlesen und gewundert wegen Curdate()!

            Brauche erstmal nen Kaffee

            streuner
            Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
            der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

            "Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"

            Kommentar


            • #7
              Den Kaff mach ich mir jetzt auch, weil er mir die Ergebnisse nicht richtig sortiert...


              Hier die Abfrage:

              HTML-Code:
              $sql2 = mysql_query("SELECT nickname,aktiv,gesperrt,letzterlogin FROM user 
                  WHERE aktiv = '1' AND gesperrt = '0' AND DATE_ADD(datum_10,INTERVAL 1 MONTH)<=NOW() 
                  OR DATE_ADD(datum_20,INTERVAL 1 MONTH)<=NOW() OR DATE_ADD(datum_50,INTERVAL 1 MONTH)<=NOW()
                  OR DATE_ADD(datum_80,INTERVAL 1 MONTH)<=NOW() OR DATE_ADD(datum_100,INTERVAL 1 MONTH)<=NOW()
                  OR DATE_ADD(datum_120,INTERVAL 1 MONTH)<=NOW() OR DATE_ADD(datum_150,INTERVAL 1 MONTH)<=NOW()
                  OR DATE_ADD(datum_180,INTERVAL 1 MONTH)<=NOW() OR DATE_ADD(datum_200,INTERVAL 1 MONTH)<=NOW()
                  ORDER BY letzterlogin DESC LIMIT 15");

              Kommentar


              • #8
                Wieso, wie gibt er Sie Dir aus und wie willst Du es haben?

                streuner
                Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
                der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

                "Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"

                Kommentar


                • #9
                  Sortieren musst du dann wohl ebenso
                  mit einer Datums-Umwandlung
                  .
                  Die Zeit hat ihre Kinder längst gefressen

                  Kommentar


                  • #10
                    Zitat von streuner Beitrag anzeigen
                    Wieso, wie gibt er Sie Dir aus und wie willst Du es haben?

                    streuner
                    Also ich möchte diejenigen ausgeben, die zuletzt gespielt bzw. eingeloggt waren.

                    Wenn jemand eingeloggt war, wird ein Datum gespeichert im Format: 01.07.2010 - 05:47:39

                    Kommentar


                    • #11
                      Zitat von infeloba Beitrag anzeigen
                      Wenn jemand eingeloggt war, wird ein Datum gespeichert im Format: 01.07.2010 - 05:47:39
                      Dann wird es im falschen Format gespeichert. Bei MySQL gibt es genau dafür den DATETIME-Typ. Dann wird auch jede Abfrage und Sortierung zum Kinderspiel (und es ist auch deutlich schneller).

                      Kommentar


                      • #12
                        Zitat von h3ll Beitrag anzeigen
                        Dann wird es im falschen Format gespeichert. Bei MySQL gibt es genau dafür den DATETIME-Typ. Dann wird auch jede Abfrage und Sortierung zum Kinderspiel (und es ist auch deutlich schneller).
                        Ok, habe jetzt das Format auf Datetime geändert, wie speichere ich denn am besten in die DB ab? Mit time() oder date() ?

                        Kommentar


                        • #13
                          Speichern funktioniert Und wie frage ich jetzt die letzten 30 Tage ab?

                          SELECT nickname,aktiv,gesperrt,letzterlogin
                          FROM user
                          WHERE aktiv = '1' AND gesperrt = '0' AND DATE_ADD(letzterlogin,INTERVAL 1 MONTH)<=NOW()
                          ORDER BY DAY(letzterlogin)-30 DESC LIMIT 15

                          geht irgendwie nicht
                          Zuletzt geändert von infeloba; 01.07.2010, 10:35.

                          Kommentar


                          • #14
                            Eine letzte nervige Frage habe ich noch

                            Funktioniert das so, dass ich die letzten Logins bekomme

                            SELECT nickname,aktiv,gesperrt,letzterlogin
                            FROM user
                            WHERE aktiv = '1' AND gesperrt = '0'
                            ORDER BY letzterlogin DESC LIMIT 15");


                            Gruß und Danke!

                            Kommentar

                            Lädt...
                            X