Mailinglisten-Archive |
marcel.burkhalter_(at)_crypto.ch Sent: Tuesday, December 18, 2001 2:00 PM > wenn man nun z.b. ein paar mal auf nächste seite klickt sollten > die direkten seiten links so aussehen: > > ... 10 11 12 13 14 [-15-] 16 17 18 19 20 ... > > sprich die aktive seite immer in der mitte soweit das geht... > > weiss da jemand was? Nix besonderes aber es macht es: <? /* gegeben ist: $total = Anzahl der Einträge die vorhanden sind. Ermitelt zum Bsp. so: $result = mysql_query("SELECT COUNT(*) FROM ".$table); $total = mysql_result($result,0); */ // ------------------ $total = 249 ; // Achtung nur zum testen // ------------------ $proseite = 10 ; // Anzahl der Eintraege pro Seite $anzseiten = 10 ; // Anzahl der Links die angezeigt werden. $seite = (isset($seite)) ? abs((int)$seite) : 1; $seitentotal = (int)($total/$proseite) ; $start = floor($seite - $anzseiten/2) ; $start = $start <= 0 ? 1 : $start ; $end = ($start + $anzseiten-1) ; $end = $end >= $seitentotal ? $seitentotal : $end ; // ausgabe der Links if ($seite > 1) printf ('<a href="seiten.php?seite=%s"><<<</a> ',$seite-1); // seiten.php anpassen if ($start > 1) printf ('<a href="seiten.php?seite=%s">%s</a>... ',1,1); // seiten.php anpassen for ($i = $start; $i <= $end ;$i++){ if($i==$seite){ printf ("=%s= ",$i); // kein Link da sind wir ja :-) }else{ printf ('<a href="seiten.php?seite=%s">%s</a> ',$i,$i); // seiten.php anpassen } } if ($end < $seitentotal) printf (' ...<a href="seiten.php?seite=%s">%s</a> ',$seitentotal,$seitentotal); // seiten.php anpassen if ($seite < $seitentotal) printf ('<a href="seiten.php?seite=%s">>>></a> ',$seite+1); // seiten.php anpassen // ende der ausgabe ?> Gruß Christian
php::bar PHP Wiki - Listenarchive