Countdown

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

  • Countdown

    Servus,
    ich möchte auf meiner Homepage einen nach oben zählenden Countdown machen (z.B. "schon 102 Tage vergangen seit meiner letzten Dusche").
    Hat irgendeiner von euch eine Idee, wie man das anstellen könnte?
    Oder evtl. auch schon ein paar Scriptideen? Ich steh momentan noch ziemlich auf dem Schlauch. Evtl. wenn man das Startdatum fix in einer SQL-DB hinterlegt und dann vorrechnet...
    Hier könnte Ihre Werbung stehen! Bei Interesse wenden Sie sich bitte an den Inhaber dieser Signatur...

  • #2
    Wofür willst du das Startdatum in eine DB speichern???

    Setzt eine Variable fürs Startdatum, und ermittle die aktuelle Zeit. Berechne die Differenz und schon hast dus.

    Kommentar


    • #3
      Jo,
      stimmt auch wieder... Irgendwie denk ich noch zu kompliziert in dem ganzen Metier.
      Aber wie und woher krieg ich denn das aktuelle Datum? Bzw. woher weiß PHP, dass heute der 06.09. is?
      Hier könnte Ihre Werbung stehen! Bei Interesse wenden Sie sich bitte an den Inhaber dieser Signatur...

      Kommentar


      • #4
        such mal nach date(); funktion bzw. timestamp

        Kommentar


        • #5
          Das Datum in php ist folgendermassen formatiert:

          jjjjmmdd

          Dadurch lassen sich rechenoperationen damit durchführen

          20021230 - 20010125

          liefert so weit ich das noch in erinnerung habe ein gültiges ergebniss, d.h. du musst dein startdatum nur hardcoded in dein script einbauen. wenn du glück hast ist heutigesdatum-startdatum dein gesuchter unterschied (xtage seit ich nicht mehr duschen war)

          Eine andere einfache mehtode ist es eine counter.inc.cvs datei anzulegen.

          dort schreibst du rein heutigesdatum,heuteschoneingetragen(1=ja/nein=0),zähler(x-tage);

          dann schreibst du ein script, welches zum heutigen datum schaut ob 0 oder 1 drin steht, wenn 0 dann darf es eintragen, wenn 1 dann nicht, erst morgen wieder.

          sollte ein tag fehlen, kannst du sogar ein script schreiben, welches dann für jeden fehltag nochmal eins dazuzählt.

          Kommentar


          • #6
            @ faustus:

            Einfacher ist deine Methode bestimmt nicht. Wofür soll ich denn eine Datenbank anlegen, wenn ich nur start und heute brauche?

            Und deine idee mit dem Subtrahieren stimmt so auch nicht ganz: Oder hast du 100 Tage im Monat und 100 Monate im Jahr.

            @ Wuaschdl:

            Gib besser das Startdatum im Timestamp an, und lass das heutige Datum auch einen Timestamp schreiben. Da du dann millisekunden hast, kannst du die auch subtrahieren. Und was rauskommt ist dann wieder ein Timestamp, den du dann nur noch in Tage umwandeln musst. (Std, Min, ... stehen dir dann auch noch zur Verfügung, aber die kannst du dann ja ruhig weglassen

            Kommentar


            • #7
              OK,

              hier ein script dass es kann(hab mich geirrt):

              PHP-Code:
              <?
              //date can be any value that strtotime
              //will recognize. I am using the mssql
              //format of: "2001-01-01 00:00:00.000"
              //for this example, so i have to chop off
              //the last four characters

              //get the pretend date from the db
              $tmp = ("2002-05-02 01:01:00.000");

              // remove the last 4 characters
              $stored_date = substr($tmp,0,strlen($tmp)-4);

              //save memory!! (not much, but every byte counts)
              unset ($tmp);

              // get the value of the stored date
              $date_secs = strtotime ($stored_date);

              // get the value of right now
              $now = time();

              // compute the difference
              $timediff = $date_secs - $now;

              //get the int val of the days passed

              //$secondspassed = intval(abs(((($timediff/60)/60)/24)));
              $dayspassed = intval(abs(((($timediff/60)/60)/24)));

              //now to use it in a real case:
              //Tell the user how long they have been
              //a member of your site...

              echo "<p align=left>you have been a member for $dayspassed days\n";

              //or you can use it to see if a
              //subscription has ended

              //Length of subscription
              $subscription_days = 14;

              //The user's subscription is about to end, 
              //let them know...
              if (($subscription_days -1 == $dayspassed ) || ($subscription_days == $dayspassed)) {
              echo "<p align=left>Your subscription is about to end, you may renew <a href=\"\">here</a>\n";
              return (1);
              }

              // The user still has time left, and isnt
              // about to expire, so tell them. 
              if ( $subscription_days > $dayspassed ) {
              $daysleft = $subscription_days - $dayspassed;
              echo "<p align=left>You have ($daysleft) days left in your subscription\n";
              return (1);
              } else {

              // Otherwise tell them that their account has
              // expired and where to renew it.

              echo "<p align=left>Your subscription has ended, please renew <a href=\"\">here</a>\n";
              return (0);
              }
              ?>

              Kommentar


              • #8
                Der Code ist recht gut. Für diese Zwecke zwar etwas überladen, da man vielleicht davon max. 5 (eigentlich nur eine) Zeilen braucht. Aber Wuaschdl kann sich ja was passendes (nach meinem Muster) daraus stricken.

                Kommentar


                • #9
                  Jo,
                  vielen lieben Dank, ihr habt mir -mal wieder- sehr weitergeholfen *Schleimspurhinterherzieh*
                  Hier könnte Ihre Werbung stehen! Bei Interesse wenden Sie sich bitte an den Inhaber dieser Signatur...

                  Kommentar

                  Lädt...
                  X