Tag Vor/Zurück

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

  • Tag Vor/Zurück

    Hallo,
    Ich versuche gerade folgendes zu programmieren: Es gibt einen Button (Tag zurück) und einen Button (Tag vor) und zwischen diesen Buttons soll das aktuelle Datum stehen. Wenn ich nun die Buttons betätige soll in der mitte das entsprechende Datum stehen. so soll man dann den kalender rauf und runter gehen können. ich habe nun folgenden ansatz gemacht:
    PHP-Code:
    <?php

    echo "<form action='nextdatum.php' method='post'>";
    echo 
    "<input type='submit' name='Tag' value='Nächster Tag'/>";
    echo 
    "</form>";


    if (
    $_POST['Tag']=="Nächster Tag" )
    {
        
    $timestamp time()+86400;
        
    $datum date("d.m.Y",$timestamp);
        echo 
    "$datum";
    }

    elseif(
    $_POST['Tag2']=="Vorheriger Tag"){

        
    $timestamp time()-86400;
        
    $datum date("d.m.Y",$timestamp);
        echo 
    "$datum";
    }


    echo 
    "<form action='nextdatum.php' method='post'>";
    echo 
    "<input type='submit' name='Tag2' value='Vorheriger Tag'/>";
    echo 
    "</form>";



    ?>
    Das funktioniert allerdings nur für einen tag vor bzw. nach dem aktuellen datum. wie kann ich nun mit dem datum weiterrechnen , dass ich mit echo hingeschrieben habe ? um auf dieses datum dann 86400 zu addieren oder subtrahieren ? kann mir da jemand weiterhelfen ? oder gibt es einen einfacheren weg ? Danke

  • #2
    DateTime und modify( "+1 day" ) verwenden!

    Kommentar


    • #3
      das kann ich zwar verwenden aber das hilft mir nich dabei weiter, durch mehrere klicks auf die buttons auch mehrere tage weiter zu kommen .. oder wie meinst du das genau ?
      hier mit datetime und modify:
      PHP-Code:
           $timestamp time();
           
      $date = new DateTime(date("Y-m-d",$timestamp));
           
      $date->modify("+1 day");
           echo 
      $date->format("Y-m-d"); 

      Kommentar


      • #4
        du musst auch irgendwo das aktuelle Datum speichern
        z.B.
        PHP-Code:
        <input type="hidden" name="curtime" value="$timestamp"/> 
        und damit musst dann weiterrechnen
        PHP-Code:
        $timestamp $_POST['timestamp']; 

        Kommentar


        • #5
          Du bist hier im PHP-Forum. Also sollte auch klar sein, dass nach jedem Klick die Seite neu geladen wird. Mehrere Klicks (auf einmal) existieren folglich gar nicht!

          Kommentar


          • #6
            ich hab jetzt versucht die zeit über
            PHP-Code:
            <input type="hidden" name="time" value="$timestamp"/> 
            zwischen zu speichern, aber das hat irgendwie nich geklappt
            könnte mir das vielleicht jemand näher erklären ?

            Kommentar


            • #7
              so wars gedacht
              PHP-Code:
              <?php

              if(!isset($_POST['Tag']) AND !isset($_POST['Tag2'])) 
              {
                 
              $timestamp time();
                 
              $datum date("d.m.Y",$timestamp);
              }

              if (
              $_POST['Tag']=="Nächster Tag" )
              {
                  
              $timestamp $_POST['timestamp'];
                  
              $datum date("d.m.Y",$timestamp 86400);
              }

              elseif(
              $_POST['Tag2']=="Vorheriger Tag")
              {
                   
              $timestamp $_POST['timestamp'];
                   
              $datum date("d.m.Y",$timestamp 86400);
              }

              echo 
              "<form action='nextdatum.php' method='post'>";
              echo 
              '<input type="hidden" name="timestamp" value="'.$timestamp.'">':
              echo 
              "<input type='submit' name='Tag' value='Nächster Tag'/>";
              echo 
              "</form>";

              echo 
              $datum;

              echo 
              "<form action='nextdatum.php' method='post'>";
              echo 
              '<input type="hidden" name="timestamp" value="'.$timestamp.'">':
              echo 
              "<input type='submit' name='Tag2' value='Vorheriger Tag'/>";
              echo 
              "</form>";

              ?>
              Zuletzt geändert von krel; 23.01.2008, 17:07.

              Kommentar


              • #8
                Danke für die schnelle hilfe
                hab in dem code noch zwei sachen ergänzt, weil du vergessen hattest den neuen Wert für $timestamp zu speicher..jetzt funktioniert es aber einwand frei:
                PHP-Code:

                <?php

                if(!isset($_POST['Tag']) AND !isset($_POST['Tag2'])) 
                {
                   
                $timestamp time();
                   
                $datum date("d.m.Y",$timestamp);
                }

                if (
                $_POST['Tag']=="Nächster Tag" )
                {
                    
                $datum date("d.m.Y",$_POST['timestamp']+86400);
                    
                $timestamp=$_POST['timestamp']+86400;
                }

                elseif(
                $_POST['Tag2']=="Vorheriger Tag")
                {
                     
                $datum date("d.m.Y",$_POST['timestamp']-86400);
                     
                $timestamp=$_POST['timestamp']-86400;
                }

                echo 
                "<form action='nextdatum.php' method='post'>";
                echo 
                "<input type='hidden' name='timestamp' value='$timestamp'>";
                echo 
                "<input type='submit' name='Tag' value='Nächster Tag'/>";
                echo 
                "</form>";

                echo 
                $datum;

                echo 
                "<form action='nextdatum.php' method='post'>";
                echo 
                "<input type='hidden' name='timestamp' value='$timestamp'>";
                echo 
                "<input type='submit' name='Tag2' value='Vorheriger Tag'/>";
                echo 
                "</form>";

                ?>

                Kommentar


                • #9
                  habs aber noch geändert und der brauch nur einmal rechnen..

                  Kommentar


                  • #10
                    alles klar

                    Kommentar


                    • #11
                      weil du vergessen hattest den neuen Wert für $timestamp zu speicher..
                      schäm dich krel... hast den guten echt noch eigenleistung abverlangt!!!
                      **********
                      arkos
                      **********

                      Kommentar


                      • #12
                        OffTopic:
                        wenigstens ist der Fehler aufgefallen und das ist doch schonmal gut finde ich

                        Kommentar

                        Lädt...
                        X