Hinzufügen von Seiten - automatisch

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

  • Hinzufügen von Seiten - automatisch

    Hey! Bin neu hier, und hoffe auf Hilfe...ich verzweifel hier echt!

    Ich wollte gerne ein Gästebuch selbst erstellen, den nötigen Anfang habe ich bereits. Nur - was für einen Code/Befehl brauche ich, um auf jeder Seite eine bestimmte Anzahl von Einträgen (z.B. 20) zu zeigen, und wenn in der Datenbank mehr gespeichert sind, erscheint oben automatisch eine Anzeige: Seiten 1, 2 > nächste...letzte ?
    In der URL dieser Seiten muss ja irgendwie auch ne GET-Variable enthalten sein (gb.php?seite=2) oder so...aber ich weiß echt nicht, wie ich das machen soll!
    Würde mich echt freuen, wenn wer antwortet!
    Hoffe, ich hab alles Nötige an Infos gegeben...
    [--> Lebe jeden Tag, als sei es dein letzter - vielleicht ist er es... <--]

  • #2
    als Einstieg diese zwei Schnipsel:
    PHP-Code:
    echo "<a href=gb.php?seite=$seite>$seite</a>";

    $index=($seite-1)*20//(!beachte 0-Origin, für den 21. Eintrag zb $index=20)
    $sql="SELECT * FROM gb LIMIT $index,20" 

    Kommentar


    • #3
      @ phoenix20: ich finde das ist ein schlechter einstieg. damit bekommt sie immer nur die letzen 20. wenn sie das noch in ein register abuen wollte, müsste das ganz anders gemacht werden.
      aber habs selber noch nicht probiert. will das auch malo demnächst probieren.
      Webdesign und Webentwicklung - Plunix.de

      Kommentar


      • #4
        Hallo ihr zwei!^^

        Naja, diese Schnipsel sind ja nicht schlecht, nur lösen sie ja mein Problem leider noch nicht...
        wenn man in einem Forum mehr Einträge schreibt, als auf einer Seite angezeigt werden, erscheint ja oben automatisch diese Seiten-Navigation. Mit den Schnipseln kann ich zwar eine bestimmte Anzahl von Einträgen abrufen, aber die einzelnen Seiten müsste ich dann ja von Hand oben reinschreiben...!
        [--> Lebe jeden Tag, als sei es dein letzter - vielleicht ist er es... <--]

        Kommentar


        • #5
          Original geschrieben von Lennie
          @ phoenix20: ich finde das ist ein schlechter einstieg. damit bekommt sie immer nur die letzen 20.
          Was meinst du damit?

          Zum Thema: Sucht mal nach Blättern und/oder Paging.

          Kommentar


          • #6
            hier noch ein längeres fertiges geschnipse
            PHP-Code:
            //Blättern-Zeile
              
            $result=mysql_query('SELECT COUNT(*) FROM gb');
              
            $row=mysql_fetch_row($result);
              for (
            $i=1,$d='';$i<=$row[0];$i+=20,$d='-')
               {   echo
            "$d<a href=gb.php?seite=$i$i </a>"  }

            // $sql für 20 gewünschte Einträge
              
            $index=_GET['seite']-1//(!beachte 0-Origin)
              
            $sql="SELECT * FROM gb LIMIT $index,20"
            ...usw... 
            Zuletzt geändert von phoenix20; 05.06.2006, 19:22.

            Kommentar


            • #7
              such doch einfach mal nach blättern...

              Kommentar


              • #8
                jaaa jetzt sind phoenix schnipsel hbesser naja finde ich. jetzt kann man erknnen wie man das angehen muss...
                der erste war nur eben nicht ein gelungener ansatz.
                Webdesign und Webentwicklung - Plunix.de

                Kommentar


                • #9
                  Original geschrieben von Lennie
                  jaaa jetzt sind phoenix schnipsel hbesser naja finde ich. jetzt kann man erknnen wie man das angehen muss...
                  der erste war nur eben nicht ein gelungener ansatz.
                  Toll wenn man alles tastenfertig vorkochen muss.

                  Kommentar


                  • #10
                    vorkochen
                    vorkauen!!
                    (auch wenn ich mich jetzt unbeliebt mache)
                    Aber das Problem bleibt das selbe!
                    Manchmal kann man auch den modulo Operator verwenden---
                    Wir werden alle sterben

                    Kommentar


                    • #11
                      Okay, danke, ich habs jetzt geschafft...hab einfach bei Google nach blättern gesucht und solange probiert, bis es lief...aber den Code hätte ich niiiiemals selbst schreiben können! Bin ja noch ein totaler n00b im Umgang mit PHP...!

                      Sowas zum Beispiel:
                      PHP-Code:
                       }
                          if(
                      $nStart<&& $nStart>1) {
                              for(
                      $j=0;$j<2+$nStart;$j++) {
                                  
                      $link .= $ret[$j];
                              }
                          } else {
                              for(
                      $j=0;$j<3;$j++) {
                                  
                      $link .= $ret[$j];
                              }
                          }
                          
                      $link .= ($nStart<=($ges-5) ? ($nStart>=' ... '.$ret[$nStart-1].$ret[$nStart].(isset($ret[$nStart+1]) ? 
                      $ret[$nStart+1] : '') : '') : '');
                          
                      $link .= ' ... '.($nStart==$ges-$ret[$ges-4] :
                       
                      '').$ret[$ges-3].$ret[$ges-2].$ret[$ges-1];
                      } else {
                          for(
                      $i=1;$i<=$ges;$i++) {
                              
                      $link .= (($i-1)!=$nStart $url.'&amp;start='.($i-1).'">['.$i.']</a> ' $i.' ');
                          } 
                      Da wird mir vom Hinsehen schon ganz schwindelig...

                      Nochmal danke an alle!!!
                      [--> Lebe jeden Tag, als sei es dein letzter - vielleicht ist er es... <--]

                      Kommentar


                      • #12
                        Da bin ich schon wieder XD...
                        jetzt klappt zwar das Blättern, aber er kann nichts mehr aus der Datenbank auslesen!
                        Vorher hat das allerdings geklappt, deshalb muss ja irgendwas mit dem oberen Teil - dem Paging - nicht korrekt sein...oder?
                        Ich weiß leider nicht, wo der Fehler liegt, deshalb werd ich einen ziemlichen großen Code posten müssen...sorry!
                        PHP-Code:
                        <?
                        $sql = mysql_query('SELECT COUNT(*) AS count FROM anmeldung2');
                        $end = 20;
                        $url   = '<a href="./'.basename($_SERVER['PHP_SELF']).'?none=0';

                        $anz = mysql_result($sql, 0, 'count');
                        mysql_free_result($sql);

                        $start  = !isset($_GET['start']) ? $start = 0 : $_GET['start']*$end;
                        $nStart = !isset($_GET['start']) ? $start = 0 : $_GET['start'];
                        $z = 20;
                        $startz = ($nStart * $z)+1;
                        $endz = $z * ($nStart+1);

                        echo $link;
                        ?>
                        Das ist ein Ausschnitt des ersten Teils. Jetzt wollte ich drei Daten in eine Tabelle bringen - Name, Passwort und ID. Nur leider kommt beim "Anwählen" der Datenbank immer nur "Select ist fehlgeschlagen"...
                        PHP-Code:
                        <?
                        $res = @mysql_query("SELECT id, name, passwort FROM anmeldung2 LIMIT '.$startz.', '.$endz'") or 
                        die('Select ist fehlgeschlagen!');
                           $num = mysql_num_rows($res);


                        for($i=$startz; $i<$endz; $i++)
                        {
                          $name = mysql_result($res, $i, "name");
                              $passi = mysql_result($res, $i, "passwort");
                              $id  = mysql_result($res, $i, "id");
                              echo "<tr><td width='50%'><center><a href='$id.php' target='blank'>$name</a></td><td width='25%'>
                        <center>$passi</td><td><center>$id</td></tr>";
                        }
                        mysql_free_result($res);
                        ?>
                        [--> Lebe jeden Tag, als sei es dein letzter - vielleicht ist er es... <--]

                        Kommentar


                        • #13
                          Original geschrieben von chilimaus
                          Da bin ich schon wieder XD...
                          jetzt klappt zwar das Blättern, aber er kann nichts mehr aus der Datenbank auslesen!
                          [...]
                          Nur leider kommt beim "Anwählen" der Datenbank immer nur "Select ist fehlgeschlagen"...
                          PHP-Code:
                          $res = @mysql_query("SELECT id, name, passwort FROM anmeldung2 LIMIT '.$startz.', '.$endz'") or 
                          die(
                          'Select ist fehlgeschlagen!'); 
                          Inwiefern passt der Code zu dem, was in http://php-resource.de/forum/showthr...threadid=50454 steht?
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            Okay, jetzt hab ich auch gesehen, was du meintest - glaube ich zumindest. -.-

                            Er sagt an: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ''.21.', '.40'' at line 1
                            (also zwischen '.$startz.' und '.$endz').
                            Aber diesen Code habe ich nicht selbst verfasst, sondern übernommen von einem Manual. Was muss ich denn da verändern?
                            Zuletzt geändert von chilimaus; 06.06.2006, 12:04.
                            [--> Lebe jeden Tag, als sei es dein letzter - vielleicht ist er es... <--]

                            Kommentar


                            • #15
                              1. Poste mal die geparste Query (das was du an die DB sendest), nicht irgend nen PHP-Quellcode.

                              2. Das ist der Vorteil, wenn man selbst schreibt, dann weiß man was man tut, für alles andere gibt es Programmierer!

                              Kommentar

                              Lädt...
                              X