Anzeige VON ... BIS

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

  • Anzeige VON ... BIS

    Ich habe einen Countdown mit einem Startdatum ($start_date)
    und einem Enddatum ($end_date).
    Wie kann ich mittels PHP nun bestimmen, dass
    die verbleibenden Tage von $start_date bis $enddate
    angezeigt werden, ab dem Startdatum $start_date ?

    Freue mich auf eure Antworten, danke im voraus.

  • #2
    also wenn ich dich richtig verstanden hab, willst du die tage von deinem start bis zum end-datum, ne?

    wenn deine daten (plu. datum) in form von timestamps vorliegen kannst du ja einfach:

    round((($end_date-$start_date)+1) / 86400,1);

    machen. ist ungetestet, sollte aber stimmen.
    MfG
    aim
    Lies mich jetzt!
    - OT-Tags-Liebhaber und BB-Code-Einrücker -

    Kommentar


    • #3
      Mein Datumsformat ist leider nicht timestamp, sondern "YYYY-MM-DD HH:MM:SS".

      Gibt es dafür auch eine Lösung?

      Kommentar


      • #4
        Original geschrieben von kerbstone
        Mein Datumsformat ist leider nicht timestamp, sondern "YYYY-MM-DD HH:MM:SS".
        also aus mysql?
        Gibt es dafür auch eine Lösung?
        UNIX_TIMESTAMP(deindatum)
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Gut, also hätte ich mit dem folgenden Code die Differenz
          von $startdate und $enddate?
          Aber wie kann ich bestimmen, dass ab $startdate die Differenz
          bis $enddate ausgegeben wird und ab $enddate z.B.
          die Meldung "das Datum wurde ereicht"?

          PHP-Code:
          round(((UNIX_TIMESTAMP($end_date)-UNIX_TIMESTAMP($start_date))+1) / 86400,1); 

          Kommentar


          • #6
            Nunja, das ganze da machst du ja in SQL - dann gehts du einfach in PHP her und prüft ob der errechnete Wert einen bestimmten Wert überschreiten/einhält...

            PHP-Code:
              $sql "SELECT round(((UNIX_TIMESTAMP(end_date) -
             UNIX_TIMESTAMP(start_date))+1) / 86400,1) AS differenz 
            FROM bla WHERE blub"
            ;

            //sql....blabla

            if($data['differenz'] > $x){
              echo 
            "jo";
            }else{
              echo 
            "nee";


            Du kannst natürlich auch deine differenzberechnung in den Wehre Teil Packen und da die Bedingung einfügen mit der Datensätze ausgespruckt werden sollen.


            PS: Ich sehe grade, das du glaub ich nicht verstanden hast, das UNIX_TIMESTAMP ein mySQL Befehl ist.

            Kommentar


            • #7
              Wenn du das ganze rein in PHP machen willst, und nur durch Zufall - also ohne mySQL - deine Datumformat so komisch hast, kannst du dirch natürlich mit deinem String die Sekunden seit dem 1.1.1970 ausrechen um das selbe Ergebniss wie Unix-Timestamp zu haben.

              strtotime oder mktime können dir da helfen.

              Kommentar


              • #8
                Danke, werde mir das jetzt mal zu Gemüte führen...

                Kommentar


                • #9
                  Bei mir erscheint nun zwar kein Fehler, aber differenz ist immer 0.0.

                  Startdatum ist der 25.8.2005
                  und
                  Enddatum ist der 27.8.2005

                  PHP-Code:
                  $sql mysql_query("SELECT round(((UNIX_TIMESTAMP(end_date) -
                   UNIX_TIMESTAMP(start_date))+1) / 86400,1) AS differenz
                  FROM countdown WHERE status = 'active' AND differenz >= 1"
                  ); 
                  Zuletzt geändert von kerbstone; 03.08.2005, 09:48.

                  Kommentar

                  Lädt...
                  X