Seitenanzahl verkürzen

Es soll ja wohl dynamisch sein, oder?
Wenn du es so machst wie teccco sagt, kannst du nicht wirklich gut navigieren, da immer die gleichen Seiten bzw. gleich viele übersprungen werden. Und vor allem wenn sich die Seitenzahl ändert ist die Lösung nicht wirklich brauchbar.
 
Naja, ich hab ja weiter oben schonmal geschrieben, was du machen musst.
Versuch doch einfach mal, das so hinzubekommen.
 
1. Wie du mitbekommst auf welcher Seite du bist? Schonmal in deinen eigenen Quelltext geguckt?:

//Wenn der User sich auf dieser Seite befindet, keinen Link ausgeben
if($gbshow == $gbb)
{
echo " <font face=arial><u><b>$gbb</b></u></font> ";
}

2. Hier ne dynamische Funktion die selbst entscheidet wann am Besten abgebrochen wird etc.:

PHP:
function zeigeSeiten($von,$bis) {

        $diff = $bis-$von;

        if ($diff > 10) {

                $lim = (int)($von+($diff/3));

                for ($i = $von; $i <= $bis; $i++) {

                        echo $i."&nbsp;";

                        if ($i == $lim) {

                                echo "...&nbsp;";

                                $i = (int)($i+($diff/3));

                        }
                }
        }
}
 
Naja, wohl eher so:

PHP:
function zeigeSeiten($von, $bis) {
	$diff = $bis-$von;
	
	if($diff <= 0)
		return;
	
	if($diff > 4){
		echo "  <font face=arial><a class=Schrift_Link_1 href=\"?show=11&gbshow=".$von."\">".$von."</a></font> ";
		echo "  <font face=arial><a class=Schrift_Link_1 href=\"?show=11&gbshow=".($von+1)."\">".($von+1)."</a></font> ";
		echo " ... ";
		echo "  <font face=arial><a class=Schrift_Link_1 href=\"?show=11&gbshow=".($bis-1)."\">".($bis-1)."</a></font> ";
		echo "  <font face=arial><a class=Schrift_Link_1 href=\"?show=11&gbshow=".$bis."\">".$bis."</a></font> ";
	}
	else{
		for($i=$von; $i<=$bis; $i++){
			echo "  <font face=arial><a class=Schrift_Link_1 href=\"?show=11&gbshow=".$i."\">".$i."</a></font> ";			
		}
	}
}

Die Seitenanzeige machst du dann so:

PHP:
zeigeSeiten(1, $gbshow-1);
echo " <b>".$gbshow."</b> ";	
zeigeSeiten($gbshow+1, $gbwieviel_seiten);

Und das hier:

PHP:
$gbwieviel_seiten = $gbmenge / $gbeintraege_pro_seite;

Solltest du ersetzen durch:

PHP:
$gbwieviel_seiten = ceil($gbmenge / $gbeintraege_pro_seite);
 
Eine gute Lösung aruba, aber so ausführlich wollte ich es nun nicht machen. Ein wenig Selbstinitiative vom Threadersteller gehört ja auch immernoch hinzu.
 
So habe nochmal eine frage zu dem Script. Wie könnte man das weg machen das er nach jeder 2 und vorletzten Zahl die zahlen nicht zeigt.

Bsp:

Bei 2: 2 3 ... 7 8 9 (1 Fehlt)

Bei 8: 1 2 3 ... 7 8 (9 Fehlt)
 
Sorry wenn ich nen bischen schroff antworte, aber das haben wir jetzt min. schon 2mal hier beantwortet. Guck einfach nochmal in den Antworten oder versuch dich einfach mal in den Quelltext reinzudenken oder am einfachsten änderst du mal ein paar Variablen und guckst dir an was passiert.
 
Zurück