Ergebnis 1 bis 4 von 4
  1. #1
    Lightstorm ist offline Eroberer
    registriert
    29-07-2008
    Beiträge
    72

    JavaScript Timer + PHP

    Hi,

    ich habe mir jetzt unzählige Javascript Timer über Google angeschaut und nicht gefunden was ich suche.
    Ich kann leider noch kein JavaScript und wollte fragen ob hier jemand wenn es schnell geht mir ein Timer machen kann.

    Der Timer muss so funktionieren:

    Über eine PHP Variable wird ein Datum mit Uhrzeit angegeben, die z.B. so aussehen könnte: 08-12 11:33:12 oder aber auch 00-00 04:12:05

    Erklärung:
    08 Monate, 01 bis 12
    12 Tage, 1 bis 31 (?)
    11 Stunden, 0 bis 24
    33 Minuten, 00 bis 59
    12 Sekunden, 00 bis 59

    Diese angegebene Zeit soll als Countdown im Sekundentakt runterzählen bis alle Werte 0 sind.
    Die Countdown Anzeige muss dabei so aussehen: 8 Monate 12 Tage 11:33:12
    Am Ende dann 00:00:00


    Das wars eigentlich, wichtig ist das ich den Wert für den Countdown aus einer PHP Variable entnehme.
    Geändert von Lightstorm (12-08-2008 um 03:57 Uhr)

  2. #2
    Avatar von jeko
    jeko ist offline Foren-Gott
    registriert
    03-06-2004
    Ort
    [CH]Vor meinem PC[/CH]
    Beiträge
    3.069

    AW: JavaScript Timer + PHP

    Die Übergabe des Wertes gestaltest du so:
    Code:
    <?php
    
    // ...phpcode...
    
    $datum = '08-12 11:33:12';
    
    // ...more phpcode...
    
    echo '<script type="text/javascript">
    // ...jscode...
    var datum = "'.$datum.'";
    //...more jscode...
    </script>
    ';
    
    // ...phpcode...
    
    ?>
    Und ein Countdown Script findet man 100% über die Google Suche nach "javascript countdown". Als ersten Treffer erhält man zum Beispiel diese Seite.

    Theoretische Grundlagen zwecks eigener Weiterentwicklung gibt's hier (SelfHTML).
    Arbeit an der Sprache ist Arbeit am Gedanken.
    NoPaste / Format / Analyze / Crypt
    Ich bin ein Schwätzer.

  3. #3
    Lightstorm ist offline Eroberer
    registriert
    29-07-2008
    Beiträge
    72

    AW: JavaScript Timer + PHP

    Ich habe es endlich geschafft, leider verstehe ich die Funktionsweise des JavaScriptes immer noch nicht genau.
    Ich verstehe wie Jahr und Monat ausgerechnet wird, aber bei Tage, Std. Min. und Sekunden komme ich rechnerisch nicht mit, d.h. verstehe die mathematische Logik dahinter nicht. Das muss ich irgendwie noch verstehen, weil ich ungern Code nutze dessen Funktionsweise ich nicht wirklich verstehe, erstens wegen Sicherheitsüberarbeitung was ich dann nicht kann und bei Fehlerbehebung.
    Das ist eine Notlösung bis ich JavaScript selber kann.

    Es erfüllt sein Zweck aber, wenn auch anders als geplant, es nimmt über PHP aus der MySQL Datenbank das Zieldatum und übergibt Array Variablen an das JavaScript.

    PHP-Code:
    <?php


                
    include "sql.inc.php";



                
    $query        =        "SELECT time FROM gamer WHERE id = '33'";
                
    $result        =        mysql_query($query);
                
                
                
    $datensatz        =        mysql_fetch_assoc($result);
                
                
    $string =     $datensatz["time"];
                
            
        
            
    $datum unserialize(gzuncompress(base64_decode($string)));  
                    
    ?>



    <html>
      <head>
        <title>Datum-Countdown mit JavaScript</title>

        <script language="JavaScript">
          // Ziel-Datum in MEZ aus den PHP Variablen an JavaScript übergeben
          var jahr=<?php echo $datum["year"]; ?>, monat=<?php echo $datum["mon"]; ?>, tag=<?php echo $datum["mday"]; ?>, stunde=<?php echo $datum["hours"]; ?>, minute=<?php echo $datum["minutes"]; ?>, sekunde=<?php echo $datum["seconds"]; ?>;
          var zielDatum=new Date(jahr,monat-1,tag,stunde,minute,sekunde);

          function countdown() {
            startDatum=new Date(); // Aktuelles Datum

            // Countdown berechnen und anzeigen, bis Ziel-Datum erreicht ist
            if(startDatum<zielDatum)  {

              var jahre=0, monate=0, tage=0, stunden=0, minuten=0, sekunden=0;

              // Jahre
              while(startDatum<zielDatum) {
                jahre++;
                startDatum.setFullYear(startDatum.getFullYear()+1);
              }
              startDatum.setFullYear(startDatum.getFullYear()-1);
              jahre--;

              // Monate
              while(startDatum<zielDatum) {
                monate++;
                startDatum.setMonth(startDatum.getMonth()+1);
              }
              startDatum.setMonth(startDatum.getMonth()-1);
              monate--;

              // Tage
              while(startDatum.getTime()+(24*60*60*1000)<zielDatum) {
                tage++;
                startDatum.setTime(startDatum.getTime()+(24*60*60*1000));
              }

              // Stunden
              stunden=Math.floor((zielDatum-startDatum)/(60*60*1000));
              startDatum.setTime(startDatum.getTime()+stunden*60*60*1000);

              // Minuten
              minuten=Math.floor((zielDatum-startDatum)/(60*1000));
              startDatum.setTime(startDatum.getTime()+minuten*60*1000);

              // Sekunden
              sekunden=Math.floor((zielDatum-startDatum)/1000);

              // Anzeige formatieren
              (jahre!=1)?jahre=jahre+" Jahre,  ":jahre=jahre+" Jahr,  ";
              (monate!=1)?monate=monate+" Monate,  ":monate=monate+" Monat,  ";
              (tage!=1)?tage=tage+" Tage,  ":tage=tage+" Tag,  ";
              (stunden!=1)?stunden=stunden+" Stunden,  ":stunden=stunden+" Stunde,  ";
              (minuten!=1)?minuten=minuten+" Minuten  und  ":minuten=minuten+" Minute  und  ";
              if(sekunden<10) sekunden="0"+sekunden;
              (sekunden!=1)?sekunden=sekunden+" Sekunden":sekunden=sekunden+" Sekunde";

              document.countdownform.countdowninput.value=
                  jahre+monate+tage+stunden+minuten+sekunden;

              setTimeout('countdown()',200);
            }
            // Anderenfalls alles auf Null setzen
            else document.countdownform.countdowninput.value=
                "0 Jahre,  0 Monate,  0 Tage,  0 Stunden,  0 Minuten  und  00 Sekunden";
          }
        </script>
      </head>

      <body onload="countdown()">
        <form name="countdownform">
          <p>
            <input size="75" name="countdowninput">
          </p>
        </form>
      </body>

    </html>
    Geändert von Lightstorm (13-08-2008 um 02:57 Uhr)

  4. #4
    Avatar von jeko
    jeko ist offline Foren-Gott
    registriert
    03-06-2004
    Ort
    [CH]Vor meinem PC[/CH]
    Beiträge
    3.069

    AW: JavaScript Timer + PHP

    Vielleicht verwirren dich die Divisions-/Multiplikationsoperationen mit 1000. Das kommt daher, dass setTime() die Zeit in Millisekunden braucht. Daher wird alles in Sekunden umgerechnet und schliesslich noch in Millisekunden (*1000).
    Arbeit an der Sprache ist Arbeit am Gedanken.
    NoPaste / Format / Analyze / Crypt
    Ich bin ein Schwätzer.

Ähnliche Themen

  1. php mit JavaScript in HTML einbinden
    Von medium22 im Forum JavaScript
    Antworten: 6
    Letzter Beitrag: 28-08-2008, 00:28
  2. PHP Skript mit Javascript aufrufen
    Von kiwi4ever im Forum JavaScript
    Antworten: 15
    Letzter Beitrag: 06-06-2007, 14:43
  3. Javascript -> PHP
    Von Reibold im Forum Serverseitige Programmierung
    Antworten: 13
    Letzter Beitrag: 16-04-2006, 01:23
  4. Mit JavaScript auf PHP Variable zugreifen
    Von Willow im Forum JavaScript
    Antworten: 26
    Letzter Beitrag: 18-01-2006, 18:21
  5. PHP und Javascript gleichzeitig verwenden
    Von Michael Roth im Forum Serverseitige Programmierung
    Antworten: 1
    Letzter Beitrag: 17-12-2001, 15:48

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •