[gelöst] tage vor und zurückblättern

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

  • [gelöst] tage vor und zurückblättern

    Hallo phpler,

    ich möchte gerne mit buttons in der mysql zurück und vorblättern und das mit abfrage was gestern, vorgestern usw und morgen, übermorgen usw ist.

    hier mal mein ansatz:
    PHP-Code:
    error_reporting(E_ALL);
    ini_set("display_errors"TRUE);


    if (isset(
    $_POST['timestamp'])) $timestamp = ($_POST['timestamp']);


    if(!isset(
    $_POST['gestern']) AND !isset($_POST['morgen']))
    {
    $timestamp time();

    $datum date("D, d.m.Y",$timestamp);


    }

    if (
    $_POST['gestern']=='vorheriger Tag' )
    {
    $datum date("D, d.m.Y",$_POST['timestamp']-86400);
    $timestamp=$_POST['timestamp']-86400;
    }

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

    echo 
    '<form action="tage.php" method="post">';
    echo 
    '<input type="hidden" name="timestamp" value="'.$timestamp.'">';
    echo 
    '<input type="submit" name="gestern" value="vorheriger Tag"/>';
    echo 
    '</form>';

    printf ($datum);

    echo 
    '<form action="tage.php" method="post">';
    echo 
    '<input type="hidden" name="timestamp" value="'.$timestamp.'">';
    echo 
    '<input type="submit" name="morgen" value="n&auml;chster Tag"/>';
    echo 
    '</form>'
    zurück funktioniert, bei vorwärts kommen 2 Noticen:
    PHP-Code:
    Notice:  Undefined index:  gestern in S:\Server\????\tage.php on line 84
    if ($_POST['gestern']=='vorheriger Tag' )

    Notice:  Undefined variabledatum in S:\Server\????\tage.php on line 101
    printf 
    ($datum); 
    könntet ihr mir da bitte helfen?

    danke im voraus

  • #2
    Die Notices sind nur ein Hinweis auf schlampigen Code, da die $_POST-Werte erst beim abschicken ermittelt werden. Pack die entsprechenden Abfragen in ein Oberbedingung à la
    PHP-Code:
    if (!empty($_POST))
    {
      
    // Hier dein POST-Abfragen

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Danke Peter Kropff, werde es versuchen, da ich noch nicht gut bin in php wird es ne Weile dauern!

      Vielen Dank
      schischi

      Kommentar


      • #4
        So haben sich die Noticen auch verabschiedet!

        PHP-Code:
        if (isset($_POST['timestamp'])) $timestamp = ($_POST['timestamp']);
        if(!isset(
        $_POST['gestern']) AND !isset($_POST['morgen']))
        {
        $timestamp time();

        $datum date("D, d.m.Y",$timestamp);

        }

        if (isset(
        $_POST['gestern'])=='vorheriger Tag' )
        {
        $datum date("D, d.m.Y",$_POST['timestamp']-86400);
        $timestamp=$_POST['timestamp']-86400;
        }

        echo 
        '<form action="tage.php" method="post">';
        echo 
        '<input type="hidden" name="timestamp" value="'.$timestamp.'">';
        echo 
        '<input type="submit" name="gestern" value="vorheriger Tag"/>';
        echo 
        '</form>';





        if(isset(
        $_POST['morgen'])=="n&auml;chster Tag")
        {
        $datum date("D, d.m.Y",$_POST['timestamp']+86400);
        $timestamp=$_POST['timestamp']+86400;
        }

        echo 
        '<form action="tage.php" method="post">';
        echo 
        '<input type="hidden" name="timestamp" value="'.$timestamp.'">';
        echo 
        '<input type="submit" name="morgen" value="n&auml;chster Tag"/>';
        echo 
        '</form>';


        if(isset(
        $datum)){
        printf ($datum);

        Kommentar


        • #5
          hab das Script umgeschrieben, so dass ich die Wochentage in Deutsch und mit
          PHP-Code:
           $datum date("D, d.m.Y",$_POST['timestamp']-86400);
          $timestamp=$_POST['timestamp']-86400
          gab es Probleme.

          das aktuelle Script:
          PHP-Code:
          $datum strftime("%a, %d.%m.%Y");


            

          if (isset(
          $_POST['datum'])) $datum = ($_POST['datum']);
          if (empty(
          $_POST)) 
          {


          }

          if (isset(
          $_POST['gestern'])=='vorheriger Tag' )
          {
          $datum strftime("%a, %d.%m.%Y"strtotime("-1 day"));

          }


          echo 
          '<form  action="tage.php"  method="POST">';
          echo 
          '<input type="hidden" name="datum" value="'.$datum.'">';
          echo 
          '<input type="submit" name="gestern" value="vorheriger Tag" />';
          echo 
          '</form>';


          if(isset(
          $_POST['morgen'])=="n&auml;chster Tag")
          {
          $datum strftime("%a, %d.%m.%Y"strtotime("+1 day"));
          }

          echo 
          '<form  action="tage.php"  method="POST">';
          echo 
          '<input type="hidden" name="datum" value="'.$datum.'">';
          echo 
          '<input type="submit" name="morgen" value="n&auml;chster Tag" />';
          echo 
          '</form>';



          if(isset(
          $datum)){
          print_r ($datum);



          das gestern und morgen klicken funktioniert leider nur jeweils einmal.

          bitte um Hilfe, danke!
          schischi

          Kommentar


          • #6
            Worked as designed. Du übergibts ja immer nur ein und das selbe Datum. Du benötigst aber zwei verschiedene. Nämlich gestern und morgen. Außerdem sind deine Bedingungen so was von falsch. Die ganze Logik stimmt vorne und hinten nicht. Schau dir mal den folgenden Code an und lerne daraus:
            PHP-Code:
            if (!empty($_POST)) 
            {
              if (!empty(
            $_POST['datum']))
              {
                
            $curr_date = ($_POST['datum']);
              }
              else
              {
                echo 
            'Fehler!';
              }
            }
            else
            {
              
            $curr_date strtotime("now");
            }
            $yesterday strtotime("-1 day"$curr_date);
            $tommorow strtotime("+1 day"$curr_date);
            echo 
            '<form  action="test.php"  method="POST">'."\n";
            echo 
            '<input type="hidden" name="datum" value="'.$yesterday.'">'."\n";
            echo 
            '<input type="submit" name="gestern" value="vorheriger Tag" />'."\n";
            echo 
            '</form>';
            echo 
            '<form  action="test.php"  method="POST">'."\n";
            echo 
            '<input type="hidden" name="datum" value="'.$tommorow.'">'."\n";
            echo 
            '<input type="submit" name="morgen" value="n&auml;chster Tag" />'."\n";
            echo 
            '</form>'."\n";
            echo 
            strftime("%a, %d.%m.%Y"$yesterday).'-'.strftime("%a, %d.%m.%Y"$tommorow); 
            Peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              You are the man, thanks und ich werde daraus lernen und auch auf deiner Hompage bin ich unterwegs, werde dein geachtete Arbeit auf deinen Seiten reinziehen, Hut ab, was du da zeigst ist feine Sahne, wird zwar noch ne Weile gehen bis ichs begriffen habe.

              danke dir für deinen Support
              machs gut
              schischi
              Zuletzt geändert von schischi; 24.10.2009, 16:38.

              Kommentar

              Lädt...
              X