Tag Vor/Zurück

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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!

    Comment


    • #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"); 

      Comment


      • #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']; 

        Comment


        • #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!

          Comment


          • #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 ?

            Comment


            • #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>";

              ?>
              Last edited by krel; 23-01-2008, 16:07.

              Comment


              • #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>";

                ?>

                Comment


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

                  Comment


                  • #10
                    alles klar

                    Comment


                    • #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
                      **********

                      Comment


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

                        Comment

                        Working...
                        X