Curdate() - Problem

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

  • infeloba
    antwortet
    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!

    Einen Kommentar schreiben:


  • infeloba
    antwortet
    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, 09:35.

    Einen Kommentar schreiben:


  • infeloba
    antwortet
    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() ?

    Einen Kommentar schreiben:


  • h3ll
    antwortet
    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).

    Einen Kommentar schreiben:


  • infeloba
    antwortet
    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

    Einen Kommentar schreiben:


  • derHund
    antwortet
    Sortieren musst du dann wohl ebenso
    mit einer Datums-Umwandlung
    .

    Einen Kommentar schreiben:


  • streuner
    antwortet
    Wieso, wie gibt er Sie Dir aus und wie willst Du es haben?

    streuner

    Einen Kommentar schreiben:


  • infeloba
    antwortet
    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");

    Einen Kommentar schreiben:


  • streuner
    antwortet
    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

    Einen Kommentar schreiben:


  • infeloba
    antwortet
    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 !

    Einen Kommentar schreiben:


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

    streuner

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • streuner
    antwortet
    Hi.

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

    streuner

    Einen Kommentar schreiben:


  • infeloba
    hat ein Thema erstellt Curdate() - Problem.

    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
Lädt...
X