Hallo,
ich habe hier ein fertiges Seitenzahlen Script.
Das sieht so aus:
Seite: [1] 2 3 4
Soweit funktioniert auch alles. Meine Frage ist nun, wie bekomme ich es hin, dass das Script nur die ersten 10 Seitenzahlen anzeigt und dann zb nach der 10 Seitenzahl "..." macht.
Ich habe nämlich viele Artikel, sprich es gibt sehr viele Seitenzahlen. Wenn der User die erste Seite aufruft soll er nur die ersten 10 Seitenzahlen sehen. Wenn er auf der 10. Seite ist, sollen die nächsten 10 Seitenzahlen gezeigt werden. Wie bekomme ich das am besten hin?
ich habe hier ein fertiges Seitenzahlen Script.
Das sieht so aus:
Seite: [1] 2 3 4
Soweit funktioniert auch alles. Meine Frage ist nun, wie bekomme ich es hin, dass das Script nur die ersten 10 Seitenzahlen anzeigt und dann zb nach der 10 Seitenzahl "..." macht.
Ich habe nämlich viele Artikel, sprich es gibt sehr viele Seitenzahlen. Wenn der User die erste Seite aufruft soll er nur die ersten 10 Seitenzahlen sehen. Wenn er auf der 10. Seite ist, sollen die nächsten 10 Seitenzahlen gezeigt werden. Wie bekomme ich das am besten hin?
PHP-Code:
<?php
//Abfrage auf welcher Seite man ist
//Wenn man keine Seite angegeben hat, ist man automatisch auf Seite 1
if($seite == ""){
$seite = 1;
}
//Verbindung zu Datenbank aufbauen
include "db_login.php";
//Eintraege pro Seite: Hier 15 pro Seite
$eintraege_pro_seite = 5;
//Ausrechen welche Spalte man zuerst ausgeben muss:
$start = $seite * $eintraege_pro_seite - $eintraege_pro_seite;
$result = mysql_query("SELECT id FROM xxxxx WHERE page_id=".mysql_real_escape_string($id)."");
$menge = mysql_num_rows($result);
//Errechnen wieviele Seiten es geben wird
$wieviel_seiten = $menge / $eintraege_pro_seite;
//Ausgabe der Seitenlinks:
echo "<div align=\"center\">";
echo "<b>Seite:</b> ";
//Ausgabe der Links zu den Seiten
for($a=0; $a < $wieviel_seiten; $a++)
{
$b = $a + 1;
//Wenn der User sich auf dieser Seite befindet, keinen Link ausgeben
if($seite == $b)
{
echo " <b>[$b]</b> ";
}
//Auf dieser Seite ist der User nicht, also einen Link ausgeben
else
{
$next_ok = 1;
echo " <a href=\"page.php?page=kat&seite=$b&id=$id\">$b</a> ";
}
}
if($next_ok == 1 && $seite != $a){
// Rausfiden welche Seite als naechstes kommt
$nex_seite = $seite + 1;
echo "<a href=\"page.php?page=kat&seite=$nex_seite&id=$id\"> > </a>";
}
echo "</div><br>";
//Tabelle Abfragen
//Tabelle heißt hier einfach: Tabelle
$abfrage = "SELECT * FROM xxxxx WHERE page_id=".mysql_real_escape_string($id)." ORDER BY `id` DESC LIMIT $start, $eintraege_pro_seite";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
// Hier die Ausgabe der Eintraege
$id_kat = $id; $id_art = $row->id; include "tmp_einz_artikel.php";
}
//Jetzt kommt das "Inhaltsverzeichnis",
//sprich dort steht jetzt: Seite: 1 2 3 4 5
//Wieviele Eintraege gibt es ?berhaupt
//Wichtig! Hier muss die gleiche Abfrage sein, wie bei der Ausgabe der Daten
//also der gleiche Text wie in der Variable $abfrage, bloß das hier das LIMIT fehlt
//Sonst funktioniert die Bl?tterfunktion nicht richtig,
//und hier kann nur 1 Feld abgefragt werden, also id
$result = mysql_query("SELECT id FROM xxxxxx WHERE page_id=".mysql_real_escape_string($id)."");
$menge = mysql_num_rows($result);
//Errechnen wieviele Seiten es geben wird
$wieviel_seiten = $menge / $eintraege_pro_seite;
//Ausgabe der Seitenlinks:
echo "<br><div align=\"center\">";
echo "<b>Seite:</b> ";
//Ausgabe der Links zu den Seiten
for($a=0; $a < $wieviel_seiten; $a++)
{
$b = $a + 1;
//Wenn der User sich auf dieser Seite befindet, keinen Link ausgeben
if($seite == $b)
{
echo " <b>[$b]</b> ";
}
//Aus dieser Seite ist der User nicht, also einen Link ausgeben
else
{
echo " <a href=\"page.php?page=kat&seite=$b&id=$id\">$b</a> ";
$next_ok = 1;
}
}
if($next_ok == 1 && $seite != $a){
// Rausfiden welche Seite als naechstes kommt
$nex_seite = $seite + 1;
echo "<a href=\"page.php?page=kat&seite=$nex_seite&id=$id\"> > </a>";
}
echo "</div>";
?>
Kommentar