Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] beiträge der letzten 93 tage anzeigen

Einklappen

Neue Werbung 2019

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

  • [Erledigt] beiträge der letzten 93 tage anzeigen

    hallo, ich habe folgendes problem:

    das alter (age) soll über eine form an ein php script gesendet
    werden (kein problem soweit), dass einen select aufruft,
    welcher alle beiträge zwischen dem jetzigen zeitraum - x tage (z.b.
    letzten 93 tage) selektiert.

    <select size="1" name="age">
    <option selected value="0">Gesamt</option>
    <option value="7">1 Woche</option>
    <option value="14">2 Wochen</option>
    <option value="31">1 Monat</option>
    <option value="93">3 Monate</option>
    <option value="186">6 Monate</option>
    <option value="279">9 Monate</option>
    <option value="365">1 Jahr</option>
    </select>

    in der mssql datenbank ist das beitragsdatum als timestamp definiert.
    (z.b. 2000-07-31 13:16:30.493)


    danke fuer posts schon im vorraus!

    (ps: auf 28. februar und schaltjahr mal nicht geachtet)


  • #2
    Code:
    SELECT etwas FROM tabelle
               WHERE TO_DAYS(NOW()) - TO_DAYS(datum_spalte) <= 30;
    s.h.

    http://dev.mysql.com/doc/mysql/de/Da...functions.html

    Kommentar


    • #3
      Zitat von Clan
      Code:
      SELECT etwas FROM tabelle
                 WHERE TO_DAYS(NOW()) - TO_DAYS(datum_spalte) <= 30;
      s.h.

      http://dev.mysql.com/doc/mysql/de/Da...functions.html
      es ist aber ein microsoft sql server, konnte da kein SP über NOW()
      finden. datum_spalte müsste ich ja irgendwie ausrechnen, gibt es dafuer
      eine php funktion? fuer was steht <= 30 ?
      where jetztiges-datum minus gesteriges-datum gleich oder unter 30 tage?

      danke!

      Kommentar


      • #4
        Zitat von sinergy
        NOW()
        MSSQL bentutz dafür DATE()

        Kommentar


        • #5
          Zitat von Guradia
          Zitat von sinergy
          NOW()
          MSSQL bentutz dafür DATE()
          mssql 2000 ?

          kommt bei mir

          Server: Nachr.-Nr. 195, Schweregrad 15, Status 10, Zeile 2
          'DATE' wird nicht als Funktionsname erkannt.

          query:
          SELECT * FROM loesung WHERE TO_DAYS(DATE()) - 30

          Kommentar


          • #6
            Zitat von sinergy
            Zitat von Guradia
            Zitat von sinergy
            NOW()
            MSSQL bentutz dafür DATE()
            mssql 2000 ?

            kommt bei mir

            Server: Nachr.-Nr. 195, Schweregrad 15, Status 10, Zeile 2
            'DATE' wird nicht als Funktionsname erkannt.

            query:
            SELECT * FROM loesung WHERE TO_DAYS(DATE()) - 30
            GETDATE wars..

            mein sql-query müsste ja dann wie gefolgt aussehen oder?

            SELECT * FROM loesung
            WHERE erfasstam between TO_DAYS(GETDATE()) and (TO_DAYS(GETDATE()) - 30)

            TO_DAYS gibt es allerdings nicht bei mssql.. kennt jemand ne andere
            funktion? bringt mir das überhaupt etwas? wenn ich die tages-anzahl
            zwischen 100 und 200 habe, woher weiss ich welches datum dies ist?

            danke!
            gruss sin

            Kommentar


            • #7
              *wups* .. fast ...

              GETDATE()

              Und DATEPART() um es auseinanderzupflücken ...

              Kommentar


              • #8
                sorry, versteh ich nicht
                bin grad am verzweifeln

                Kommentar

                Lädt...
                X