Blaettern-Navigation wie z.b. hier im Forum? | Pager |

eanst

Grünschnabel
hallo forum,

ich versuche einen pager oder blaetternavigation für meine seite zu machen. so wie man sie in vielen foren oder gästebüchern sieht.

Beispiel
<< -- < - 1, 2, 3 ... 6, 7, 8 ... 11, 12, 13 - > -- >>

gibt es dazu evtl. ein tutorial oder irgendwo weitere infos?
mein wissen beschränkt sich auf den einsatz von LIMIT in der sql-abfrage ;-)

einen link habe ich selbst gefunden, aber das ist mir ne nummer zu "hoch" und vor allem sehr "aufgebläht", unübersichtlich... http://dbcf.de/blaettern/

Vielen Dank für eure hilfe
 
Ja, das sieht bei dem Link nicht gerade ... Simpel aus ;)
Man kann's ja auch übertreiben, mit OOP usw.

Naja, ich hab jetzt leider keinen Link zur Hand, aber so eine Blätterfunktion ist eigentlich ganz simpel.
Wenn du den SQL Befehl "LIMIT" kennst, könntest du sogar fast selbst drauf kommen.
Mit LIMIT kannst du, wie du dir vielleicht schon denken kannst nur eine bestimmte Anzahl von Datensätzen selecten.
SELECT ... LIMIT $start, $anzahl

Jetzt müsstest du für $start z.B die GET-Variable einsetzen, die bestimmt, auf welcher Seite man sich befindet und für $anzahl eben die Anzahl der Einträge, die angezeigt werden sollen.
Eigentlich total simpel, oder?

Wenn du dann noch ein paar kleine Rechnungen machst, kriegst du das auch hin mit dem
<< -- < - 1, 2, 3 ... 6, 7, 8 ... 11, 12, 13 - > -- >>
;)
 
Ich wollte mich dann nur mal kurz einklinken und eanst im Forum willkommen heissen.
Ausserdem moechte ich Dich darum bitten in Zukunft Deine Shift-Taste nicht so zu vernachlaessigen, da wir hier auch korrekte Gross- und Kleinschreibung stehen.

Noch viel Spass und viel Erfolg auf tutorials.de.
 
*g*
Da die Page immernoch nicht Online ist hau ich hier mal die codes rein die ich auf mein page habe.!

1.) Ganz Oben:
PHP:
<?php
if (!isset($Anfangsposition)) {
  $Anfangsposition = 0;
}
?>

2.) Da drunter Db verbindung etc.
PHP:
<?php
error_reporting(E_ALL);
require ("db.php");
$Zeilen_pro_Seite = 10;
$result = mysql_query("SELECT id, clanname, vorname, nachname, gtype, status, atitel, bcss FROM bs_einstellung, bs_bestellung ORDER BY id DESC LIMIT $Anfangsposition,$Zeilen_pro_Seite");
$result1=mysql_query("select id from bs_bestellung");

$Anzahl=mysql_num_rows($result1);
while($row = mysql_fetch_array($result))
{
?>

3.) Ganz Unten
PHP:
<?php

 if($Anfangsposition > 0) {
  echo "<a href='bs_bansehen.php?Anfangsposition=0'>[erste Seite]</a>&nbsp;&nbsp;";
  $back=$Anfangsposition-$Zeilen_pro_Seite;
  if($back < 0) {
    $back = 0;
  }
  echo "<a href=\"bs_bansehen.php?Anfangsposition=$back\">[eine Seite zur&uuml;ck]</a>&nbsp;&nbsp;";
 }
?></td> 
   </tr> 
   </table>
<?php
if($Anzahl>$Zeilen_pro_Seite) {
  $Seiten=intval($Anzahl/$Zeilen_pro_Seite);
  if($Anzahl%$Zeilen_pro_Seite) {
    $Seiten++;
  }
}
?>
<?php
for ($i=1;$i<=$Seiten;$i++) {
  $fwd=($i-1)*$Zeilen_pro_Seite;
  echo "<a href=\"bs_bansehen.php?Anfangsposition=$fwd\">|$i|</a>&nbsp;&nbsp;";
}
?>
<?php
if($Anfangsposition < $Anzahl-$Zeilen_pro_Seite) {
  $fwd=$Anfangsposition+$Zeilen_pro_Seite;
  echo "<a href=\"bs_bansehen.php?Anfangsposition=$fwd\">[eine Seite weiter]</a>&nbsp;&nbsp;";
  $fwd=$Anzahl-$Zeilen_pro_Seite;
  echo "<a href=\"bs_bansehen.php?Anfangsposition=$fwd\">[letzte Seite]</a>";
}
?>


die bs_bansehen.php mit der php Datei unbedenenen, bei dem ihr das ding einbaut.
 
Zuletzt bearbeitet:
Zurück