Seitennavigation nach Datensatz-Anzahl

Webber

Mitglied
Hallo,

Hab ein kleines (oder doch schon größeres) Problem mit einer Seitennavigation von einem Gästebuch.

Im Gästebuch lass ich pro Seite einen Datensatz (Eintrag) darstellen.
Man kann einmal via Button (wenn möglich) einen Datensatz vor und einen zurück blättern. Soweit so gut.
Weiterhin hab ich eine Navigation eingebaut, die oben erscheint.
Dort wird dann die Anzahl der Datensätze als Links zu dem jeweiligen dargestellt.
Sind also 10 Einträge vorhanden, hat man 10 Links um zu dem Eintrag direkt springen zu können. Soweit war ja noch alles easy.
Nun soll die Seite aber nicht Scrollbar werden, wenn z.B. 50 Einträge vorhanden sind.
Also möchte ich gerne, dass nach 30 Einträgen ein ">" erscheint und die Navi dann auf einer neuen Page mit 31 anfangen soll.
Sollte man sich auf einer Seite befinden, deren erstes Navigationselement größer/gleich 31 ist (also 31,61,91,usw.),
soll dann als erstes ein "<" erscheinen, so das man auf die niedrigeren Seiten zugreiffen kann.
Hat einer eine Idee, wie ich das realisieren kann?.
Wichtig ist mir, dass die Navigation auf einer Seite (bsp. 1-30) stehen bleibt, wenn ich mich in Ihr bewege,
spricht wenn ich auf den Link 5, 10, usw. klicke und nicht beim klick auf 5, dann auch 5 das erste Element der Navi ist.

Hier mal mein Scriptauszug, wie es nun ist (sozusagen der Rohzustand):
PHP:
<?
include("includes/config.php");
include("includes/dbset.php");
$proseite=1;
$sql = "SELECT * , date_format(date,'%e. %M %Y  %H:%i') as entry_date FROM gb ORDER BY date";
$result = mysql_query($sql);
$number = mysql_num_rows($result);
$seiten=floor($number/$proseite);
$start=$page * $proseite;
$sql="SELECT * , date_format(date,'%e. %M %Y  %H:%i') as entry_date FROM gb ORDER BY date desc LIMIT $start,$proseite";
$result = mysql_query($sql);
?>
<span class="schrift-kl">
  <font class=font1_white>Seitennavigation: </font>
  <br>
  <?
     $a=1;
     for($i=0; $i<=$seiten-1; $i++) {
          if ($i==$page) {
               echo "<span class=font1_white>";echo $a++; echo"&nbsp</span>";
          }
          else {
               echo "<A HREF=\"gb.php?page=$i\" class=font1_white>";echo $a++; echo"</A>&nbsp;";
          }
     }
  ?>
</span>
.
.
.
Hier steht dann das restliche Script

Ich hoffe ich finde hier Hilfe, ich komm nicht weiter...

webber
 
Hi,

du solltest dir mal den modulus - Operator ansehen.
So habe ich es gelöst.
Also abfragen ob die Seiten mehr als 30 (was auch immer)
und dann anfangen nur noch bestimmte Links zu den Seiten anzeigen.

Hoffe es hilft dir weiter.
 
Zurück