Blätterfunktion - weniger anzeigen

Ich benutze eine Blätterfunktion. Aber mittlerweile sind es schon 27 seiten. Deswegen möchte ich weniger anzeigen lassen, also z.b. wenn seite 5 offen ist:
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |

Wie geht das?

Schonmal DANKE für eure Hilfe!

Könntest du einmal viell. das Script herzeigen das die Seiten erzeugt ?!

So (ist aber nicht von mir)

[code]<?
@mysql_connect(“localhost”, “root”, “”);

@$x=mysql_select_db(“datenbank”);
if (empty($x)) {
echo “Fehler beim Verbinden mit dem Datenbankserver
”;
exit;
}

$pro_seite = 10;

$menge = mysql_query(“SELECT * FROM tabelle”);
$menge = mysql_num_rows($menge);
$seiten_anzahl = $menge / $pro_seite;

$page = $_GET[‘page’];
if (!isset($page) || !is_numeric($page) || $page > $seiten_anzahl || $page <= 0){
$page = 1;
}

$start = $page * $pro_seite - $pro_seite;

function back($page) {
return $page - 1;
}

function forward($page) {
return $page + 1;
}

$sql = “Select * FROM tabelle Limit $start,$pro_seite”;
$query = mysql_query($sql);

while ($ds = mysql_fetch_object($query)){
echo “$ds->id
”;
}

if ($page == 1){
echo '

Zurück ';
} else {
echo '
Zurück ';
}
for($i=0; $i < $seiten_anzahl; $i++){
$x = $i + 1;
if($page == $x){ 
  echo "  <b>$x</b>  "; 
} else { 
  echo "  <a href=\"?page=$x\">$x</a> "; 
} 

}

if ($page >= $seiten_anzahl){
echo ’ Weiter

’;
} else {
echo ’ Weiter
’;
}
?>[/code]

PUSH

wiso nimmst du die Zahlen nicht raus ???

hi,

ich hab irgendwo noch script rumliegen, dass die seitenzahlen perfekt anzeigt. dafür hab ich auch bestimmt drei anläufe gebraucht, bis alles funktionierte wie es sollte - sowas ist total komplziert, da immer 11 zahlen angezeigt werden sollen (außer natürlich wenn weniger seiten da sind). ich werd das script mal suchen und postrn sobald ich es gefunden habe.

lg

@ galgenjunge
Wieso zahlen rausnehmen?

@ thorr
Danke!

… | 2 | 3 | 4 | 5 | 6 | 7 | 8 | …
Die alle Raus So das da nur noch zurück|Weiter steht

[quote=“galgenjunge”]… | 2 | 3 | 4 | 5 | 6 | 7 | 8 | …
Die alle Raus So das da nur noch zurück|Weiter steht[/quote]

Ich möchte ja aber noch 3 Ziffern zeigen [quote]Zurück … 2 | 3 | 4 | 5 | 6 | 7 | 8 … Vorwärts[/quote]

Mir war danach.
Hab ich eben gemacht. Vielleicht hilft das ja
Darstellung (änderbar):

[code]$maxproseite = 4; //Beiträge pro Seite
$anzahl = 50; //anzahl der Beiträge insgesamt

//seitenanzahl ausrechnen
$seiten = intval($anzahl / $maxproseite) + 1;
if($anzahl % $maxproseite == 0) $seiten–;

//Aktuelle Seite ermitteln
$seite = 1;
if(isset($_GET[‘seite’])){
$seite = intval($_GET[‘seite’]);
}
if($seite <= 0) $seite = 1;
if($seite > $seiten) $seite = $seiten;

/* ###### Generierung des “Linkstrings” ###### */

$showall = false; //wenn true, werden die vier nachfolgenden Einstellungen ignoriert

$countleft = 3; //wieviele seiten von der aktuellen seite sollen nach LINKS angezeigt werden?
$countright = 3; //wieviele sollen nach RECHTS angezeigt werden?
$showfirst = true; //soll die ERSTE Seite immer sichtbar sein?
$showlast = true; //soll die LETZTE Seite immer sichtbar sein?

$spacer = " - "; //trenner zwischen den Seitenzahlen
$longspacer = " … "; //trenner, wenn seiten ausgeblendet wurden

$linkstring = “”;
if($showall){
for($n=1;$n<=$seiten;$n++){
if($n > 1) $linkstring .= $spacer;
if($n == $seite){
$linkstring .= ‘’.$n.’’;
}else{
$linkstring .= ‘’.$n.’’;
}
}
}else{
$islong = false;
for($n=1; $n<=$seiten; $n++){
if($n == $seite){
if($n > 1 && !$islong) $linkstring .= $spacer;
$linkstring .= ‘’.$n.’’;
}else{
if($n==1 && $showfirst){
if($n > 1 && !$islong) $linkstring .= $spacer;
$linkstring .= ‘’.$n.’’;
}elseif($n==$seiten && $showlast){
if($n > 1 && !$islong) $linkstring .= $spacer;
$linkstring .= ‘’.$n.’’;
}else{
if($n >= ($seite - $countleft) && $n <= ($seite + $countright)){
if($n > 1 && !$islong) $linkstring .= $spacer;
$islong = false;
$linkstring .= ‘’.$n.’’;
}else{
if(!$islong){
$islong = true;
$linkstring .= $longspacer;
}
}
}
}
}
}

//ausgabe!
echo $linkstring;

[/code]

@ Balmung
Danke!

hui :whata: meiner ist ein wenig „sparsamer“, also ohne „1 …“ und „… x“, das dürfte aber denk ich mal nicht allzu schwierig sein, das hinzuzufügen. aber so sieht mein code nicht aus :whata: