Anzahl der Seiten minimieren

Elementar

Mitglied
huhu tutorials team

ich habe mal das forum durchsucht aber nix brauchbares gefunden , was mein problem löst. ICh habe ca 300 einträge in meiner datenbank , lasse diese ausgeben , wo jedoch der hacken , sind die seiten . über 30 seiten lässt meine tabelle quasi explodieren.


hier mal der code:
Code:
    <? 
    // Links nur anzeigen, wenn NICHT gerade die erste Seite angezeigt wird 
      if($Anfangsposition > 0) {
    	 // Anfang und zurück 
       echo "<a href= \"$ort.php?Anfangsposition=0&sql=$sql\">[1..]&nbsp;</a>"; 
       // berechnet die Anfangsposition der vorigen Seite 
       $back=$Anfangsposition-$ZeilenProSeite; 
       if($back < 0) 
    			 { 
    			  $back=0; 
    			 } 		
     // Link, um eine Seite zurück zu gehen 
     echo "<a href=\"$ort.php?Anfangsposition=$back&sql=$sql\">
     <img src=\"../images/left.gif\" border=\"0\"></a>"; 
      } 
     ?> 
     </TD> 
    <TD> 
    <? 
     // Links zum Blättern Anzahl der vollen Seiten berechnen 
     $Seiten=intval($Anzahl/$ZeilenProSeite); 
     // Eine Seite für die restlichen Datensätze hinzufügen 
    if($Anzahl%$ZeilenProSeite) 
    { 
     $Seiten++; 
    }
    $t=$Anfangsposition/$ZeilenProSeite+10; 
    // Die Links für die Seiten erzeugen 
     for($i=1;$i<=$Seiten;$i++) 
    { 
    $fwd=($i-1)*$ZeilenProSeite; 
 // für die derzeit gezeigte Seite wird der Link in rot angezeigt 		 		 		 if($Anfangsposition/$ZeilenProSeite+1==$i) 
     { 
    echo "<a href=\"$ort.php?Anfangsposition=$fwd&sql=$sql\">
    <FONT COLOR=\"#ff7824\">$i&nbsp;</FONT>"; } 
     else 
     { 
    // für alle anderen Seiten in schwarz 
 echo "<a href=\"$ort.php?Anfangsposition=$fwd&sql=$sql\"><FONT COLOR=\"#000000\">$i</FONT></a>"; 
    } 
    } 
     ?> 
    </TD> 
    <TD WIDTH="20%" ALIGN="RIGHT"> 
    <? 
    // Nur anzeigen, wenn NICHT gerade die letzte Seite angezeigt wird 
     if($Anfangsposition < $Anzahl-$ZeilenProSeite) 
    { 
    // weiter und Ende 
 		 		 		 		 		 $neueAnfangsposition=$Anfangsposition+$ZeilenProSeite; 
    echo "<a href=\"$ort.php?Anfangsposition=$neueAnfangsposition&sql=$sql\">
    <img src=\"../images/right.gif\" border=\"0\"></a>"; 
    echo "<a href=\"$ort.php?Anfangsposition=$fwd&sql=$sql\">[..$Seiten]</a>"; 
    } 
    ?>

Gibt es eine möglichkeit die Seiten zu begrenzen wie bei google ?
beispiel:
< 1 2 3 4 5 6 7 8 9 10 >
bzw
< 5 6 7 8 9 10 11 12 13 14 >

Wenn ja kennt jemand den link

Um jede hilfe dankbar

Grüsse Elementar
 
Ein bisschen googlen hätte wahrscheinlich geholfen, guck einfach in den Tutorials bereich, ich werde dir jetzt aus Protest keinen Direktlink geben!

Such einfach nach Page Funktion oder MySQL Ergebnisse auf mehrere Seiten verteilen!
 
Sag ihm doch nicht alle vor. Er kann mir nicht erzählen das er gesucht hat und ncihts gefunden hat!
 
Och, ich kann mir schon vorstellen, dass er gesucht hat. Nur sind die Ergebnisse für xxx porn for free wahrscheinlich nicht sehr hilfreich. :-)
 
BSA hat gesagt.:
Sag ihm doch nicht alle vor. Er kann mir nicht erzählen das er gesucht hat und ncihts gefunden hat!

danke für die zahlreichen antworten , hatte mich wohl falsch ausgedrückt. Meine Seiten werden ja angzeigt , sprich die seiten blätter funktion bei mir geht ja , nur werden mir gleich über 150 seiten auf einmal angezeigt.

werde mal die gegebenen links normal durchforschen.
 
Anhand der ausgewaehlten Seite kannst Du doch einfach +/- 5 oder 10 weitere Seiten darstellen.
Sollte eigentlich kein wirklich grosses Problem darstellen.
 
Ah, ich verstehe. Du willst einen dynamischen Startwert, damit immer nur z.B. 11 Seiten-Links auf einmal angezeigt werden. Das ist, wenn man erstmal die Blätterfunktion hat, doch ein leichtes, oder?
Code:
# Pseudocode
# 'seite' enthaelt die momentane Seite
# 'anzahl_links' die Menge der anzuzeigenden Links

mitte = anzahl_links / 2;
if (seite <= mitte) {
    links_start = 0;
} else {
    links_start = seite - mitte;
}
links_start ist nun dein erster Link, ganz links (wie passend). Der letzte Link, ganz rechts, wird links_start + anzahl_links sein. in der mitte ist die momentane Seite.
 
Zurück