blättern mit nummerierung will nicht funktionieren; ich bin am verzweifeln

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

  • blättern mit nummerierung will nicht funktionieren; ich bin am verzweifeln

    Hallo Leute, ich habe hir im Forum einiges an Posts betreffend blättern / Seitennavigation gefunden aber ich komm auf keinen grünen Zweig.

    Bei mir will das Blättern, wenn man auf die Nummer der Seite klickt, einfach nicht funktionieren.

    Was aber sehrwohl funktioniert ist, das "weiter" und "zurück". Das geht ohne Probleme. Nur wenn man auf die Seitennummer klickt, kommt, wenn ich auf 1 klicke die 2. wenn ich auf 2 klicke, kommt die 3.
    Dann habe ich insg. nur 5 Seiten aber die Seitennummerierung zeigt mir 6 an obwohl keine 6. Seite ist.

    Anbei mein Code:

    PHP-Code:
      <?php
    include("db_connect_webmail.php");
    $result mysql_query("SELECT * FROM webmail06 ORDER BY Datum DESC");
    $reihen mysql_num_rows($result);

    $zeigen floor($reihen 15);

    if (!isset (
    $_GET['n'])) {
      
    $n 15;
    }
    if (!isset (
    $_GET['start'])) {
      
    $start 0;
    }
    else {
      
    $start $_GET['start'];
    }
     
    $result1 mysql_query("SELECT * from webmail06 order by Datum desc limit $start,15");

    if(
    $start 0) {
        
    $zurueck $start 15;
            echo 
    "<a href=\"$PHP_SELF?start=$zurueck\">[<< zurück]</font></a>";
        }
        for(
    $i 0$i <= $zeigen$i++) {
                    echo 
    " <a href=\"$PHP_SELF?start=$n\">[".($i+1)."]</a> ";
        
    $n += 10;
        }
        
    $weiter $start 15;
        if(
    $reihen $weiter) {
            echo 
    "<a href=\"$PHP_SELF?start=$weiter\">[weiter >>]</a>";
        }
    ?>


    Bitte um Hilfe, ich bin am verzweifeln. Ihr glaubt nicht, wass ich schon alles aus diesem Forum versucht habe. Es will nicht funktionieren.

    LG, m-werk
    Zuletzt geändert von m-werk; 20.01.2006, 10:10.
    LG, m-werk

  • #2
    hm - probiers mal mit:

    for (i=1 .......

    dann müßt es gehn.

    und nach der DB-Abfrage:

    $zeigen = $zeigen-1
    Zuletzt geändert von Koala; 20.01.2006, 10:35.

    Kommentar


    • #3
      Das funktioniert überhaupt nicht.

      1. sehe ich keine 1
      2. wenn ich auf 3 klicke, kommt seite 2 usw.

      LG, m-werk.
      LG, m-werk

      Kommentar


      • #4
        ich versuchs mal umzubauen

        2 Fragen:

        Was macht eigentlich der Font-tag in dem einen <a href ..>-tag?

        Was soll die Abfrage bzw. die Variable $result1?

        Die wird doch nicht weiterverwendet.
        Zuletzt geändert von Koala; 20.01.2006, 16:20.

        Kommentar


        • #5
          um die Anzahl der angezeigten Seiten zu korrigieren muß auf jeden Fall $zeigen = $zeigen-1; rein.

          Bleiben die falschen Links, die ja in $n angegeben werden:

          $n wird erstmals definiert wenn $n in GET nicht enthalten ist und hat dann den Inhalt 15.

          if (!isset ($_GET['n'])) {
          $n = 15;
          }

          Da scheints zu haken.

          Da Du ja bei jedem neuen Link in der For-Schleife 10 zu $n dazuzählst würd ich als Anfangswert mal $n = 5 probieren, also:

          if (!isset ($_GET['n'])) {
          $n = 5;
          }

          Kommentar


          • #6
            Hallo,

            Was macht eigentlich der Font-tag in dem einen <a href ..>-tag?

            Was soll die Abfrage bzw. die Variable $result1?

            Die wird doch nicht weiterverwendet.
            Dies brauche ich für folgenden Code in der Tabelle:

            PHP-Code:
            <?php
            while($row mysql_fetch_array($result1))
            {
            $feld1 $row['Datum'];
            $feld2 $row['Titel'];
            $feld3 $row['Link'];
            ?>
            <?php  
            if ( $zeile++ % == 0
            $hgf "silver";
            else
            $hgf "";
            ?>
            <tr>
            <td width="30">&nbsp;</td>
            <td class="Textnormal" bgcolor="<? echo $hgf?>" width="129"> <font color="#FFFFFF"><img src="../images/spacer.gif" width="1" height="5"></font>
            <?=DatumsWandler($feld1)?>
            </td>
            <td class="Textnormal" bgcolor="<? echo $hgf?>" width="587">
            <?=$feld2?>
            </td>
            <td class="Textnormal" bgcolor="<? echo $hgf?>" width="39">
            <div align="center"><a href="<?=$feld3?>" target="_blank"><img src="../images/ico_ansicht.gif" border="0" alt="Web-Mail ansehen"></a></div>
            </td>
            </tr>
            PHP-Code:
            <?php
            }
            ?>
            Jetzt hab ich folgenden Code drinn:

            PHP-Code:
            <?php
            if($start 0) {
                
            $zurueck $start 15;
                    echo 
            "<a href=\"$PHP_SELF?start=$zurueck\">[<<]</font></a>";
                }
                for(
            $i 1$i <= $zeigen$i++) {
                echo 
            " <a href=\"$PHP_SELF?start=$n\">[".($i+1)."]</a> ";
                
            $n += 15;
                }
                
            $weiter $start 15;
                if(
            $reihen $weiter) {
                    echo 
            "<a href=\"$PHP_SELF?start=$weiter\">[>>]</a>";
                }
            ?>
            Damit funktioniert zwar die Navigation mit den Seitennummern, aber die Nummerierung fängt jetzt bei 2 an. 1 sehe ich gar nicht. Nur mit dem zurück "<<" Button komme ich wieder auf die 1. Seite.

            Jetzt müsste ich nur noch das mit der 1 hinbekommen. Ansonsten geht jetzt die Nummerierung.

            Vielleicht kannst du mir da noch behilflich sein!

            LG, m-werk
            LG, m-werk

            Kommentar


            • #7
              Also hakts nur noch an der Anzeige, die mit 2 anfängt, richtig?

              Dann schreib statt:

              echo " <a href=\"$PHP_SELF?start=$n\">[".($i+1)."]</a> ";

              dieses:

              echo " <a href=\"$PHP_SELF?start=$n\">[".$i."]</a> ";

              gehts jetzt?

              Kommentar


              • #8
                Das hab ich auch schon versucht.

                Da kommt jetzt folgendes Ergebnis:

                Ich sehe die Seitennummerierung von 1 bis 5. Es sind aber 6 Seiten.

                Wenn ich auf die 1 klicke, kommt die 2. Wenn ich auf die 2 Klicke kommt die 3 usw.

                Wenn ich dann wieder auf die 1 klicke, kommt die 2. Seite. Und nur mit dem "<<"-Button komm ich dann wirklick auf die 1. Seite.

                LG, m-werk
                LG, m-werk

                Kommentar


                • #9
                  Sag mal - das ist jetzt aber nicht Dein Ernst? Du schreibst im Eröffungsposting:

                  "Dann habe ich insg. nur 5 Seiten aber die Seitennummerierung zeigt mir 6 an obwohl keine 6. Seite ist."

                  und jetzt sollen es doch 6 Seiten sein?????

                  Kommentar


                  • #10
                    wenn es 6 Seiten sein sollen, dann eben

                    for i= 0 und echo $i+1:

                    for($i = 0; $i <= $zeigen; $i++) {
                    echo " <a href=\"$PHP_SELF?start=$n\">[".($i+1)."]</a> ";
                    $n += 15;

                    und laß mal bei der if-Abfrage $n=15 weg :

                    if (!isset ($_GET['n'])) {
                    $n = 0;
                    }
                    Zuletzt geändert von Koala; 23.01.2006, 09:59.

                    Kommentar


                    • #11
                      ich hab die Sache jetzt hier auf meinem Rechner getestet und so funktioniert es:

                      PHP-Code:
                      <?php
                      //include("db_connect_webmail.php");
                      //$result = mysql_query("SELECT * FROM webmail06 ORDER BY Datum DESC");
                      //$reihen = mysql_num_rows($result);

                      //$zeigen = floor($reihen / 15);

                      $reihen 75;
                      $zeigen 5;

                      if (!isset (
                      $_GET['n'])) {
                        
                      $n 15;
                      }
                      if (!isset (
                      $_GET['start'])) {
                        
                      $start 0;
                      }
                      else {
                        
                      $start $_GET['start'];
                      }
                       
                      //$result1 = mysql_query("SELECT * from webmail06 order by Datum desc limit $start,15");

                      if($start 0) {
                          
                      $zurueck $start 15;
                              echo 
                      "<a href=\"$PHP_SELF?start=$zurueck\">[<< zurück]</a>";
                          }
                          for(
                      $i 0$i <= $zeigen$i++) {
                                      echo 
                      " <a href=\"$PHP_SELF?start=$n\">[".($i+1)."]</a> ";
                          
                      $n += 15;
                          }
                          
                      $weiter $start 15;
                          if(
                      $reihen $weiter) {
                              echo 
                      "<a href=\"$PHP_SELF?start=$weiter\">[weiter >>]</a>";
                          }
                      ?>

                      Kommentar


                      • #12
                        So, es funktioniert jetzt.

                        Ich habe bei folgneder Anweisung anstelle von 15 eine 0 geschrieben:

                        for($i = 0; $i <= $zeigen; $i++) {
                        echo " <a href=\"$PHP_SELF?start=$n\">[".($i+1)."]</a> ";
                        $n += 0;

                        Jetzt funktioniert's.

                        GROSSES DANKE

                        LG, m-werk
                        LG, m-werk

                        Kommentar


                        • #13
                          Halt! Stop!

                          Das macht doch gar keinen Sinn. Schreibe einfach in Deinem Script aus dem Eröffnungsposting in der for-Schleife $n += 15; - dann gehts.

                          Kommentar


                          • #14
                            Eben nicht. Wenn ich mein Script wie folgt schreibe

                            if (!isset ($_GET['n'])) {
                            $n = 15;

                            und

                            for($i = 0; $i <= $zeigen; $i++) {
                            echo " <a href=\"$PHP_SELF?start=$n\">[".($i+1)."]</a> ";
                            $n += 15;

                            Dann funktioniert das nicht.

                            Es funktioniert aber prima wenn ich es so schreibe:

                            if (!isset ($_GET['n'])) {
                            $n = 0;

                            und

                            for($i = 0; $i <= $zeigen; $i++) {
                            echo " <a href=\"$PHP_SELF?start=$n\">[".($i+1)."]</a> ";
                            $n += 15;


                            So funktioniert mein Script ohne Fehler.

                            LG, m-werk
                            Zuletzt geändert von m-werk; 23.01.2006, 11:11.
                            LG, m-werk

                            Kommentar

                            Lädt...
                            X