ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
629
629
EMPFEHLEN
-
Hey,
ich habe das Blätter-funktions-tutorial vor langer Zeit mal gelernt, und ein bisschen verfolständigt, z.b. mit < zurück und vor > links und das der User auswählen kann, wie viele Einträge er pro Seite haben will und so weiter.
Allerdings habe ich ein Problem bei dem "vor >" Link.
Man sollte ja nicht noch weiter vorblättern können, wenn man schon auf der letzten Seite ist, wär ja sinnlos.
Nur, wie finde ich die letzte Seite heraus?
Hier ist der oberste teil meines php-scriptes:
PHP-Code:<?php
//jetzt lesen wir alle einträge aus.
$Result = mysql_query("SELECT * FROM gaestebuch ORDER BY id DESC");
$eintrage = mysql_num_rows($Result); //hier zählen wir zuerst alle einträge
//jetzt prüfen wir, ob der user eine eigene anzahl pro seite angegeben hat
if ($_GET['e'] == "") //wenn nicht, dann ist standart 15
{
$maxproseite = 15;
}
else
{
//wenn doch, wird der wert hier aus der url geholt
$maxproseite = $_GET['e'];
}
$i = 0;
$seiten = $eintrage/$maxproseite; //hier errechnen wir alle seiten
/* Alternativ ginge auch folgende schreibweise, die jedoch viel länger ist
$Query = "SELECT * FROM gaestebuch ORDER BY id DESC;
$Result = mysql_query($Query);
*/
if (mysql_num_rows($Result) == 0) //mysql_num_rows($Result) zählt alle einträge in der db
{ //wenn die anzahl der einträge 0 ist, dann gibts ne meldung
echo "Es sind keine Einträge im Gästebuch";
}
else //wenn nicht, dann halt der rest
{
//hier die seiten ausgeben
echo "<div class=\"seite\">";
echo "Einträge pro Seite: ";
echo "<a href=\"?index=i&e=5\">5</a> · ";
echo "<a href=\"?index=i&e=10\">10</a> · ";
echo "<a href=\"?index=i&e=20\">20</a> · ";
echo "<a href=\"?index=i&e=30\">30</a> · ";
echo "<a href=\"?index=i&e=40\">40</a> · ";
echo "<a href=\"?index=i&e=50\">50</a> · ";
echo "<a href=\"?index=i&e=60\">60</a> · ";
echo "<a href=\"?index=i&e=70\">70</a> · ";
echo "<a href=\"?index=i&e=80\">80</a> · ";
echo "<a href=\"?index=i&e=100\">100</a> · ";
echo "<a href=\"?index=i&e=1000000000000000000\">Alle</a>";
echo "<br />";
echo "Seite ";
for($i = 1; $i - 1< $seiten; $i++)
{ //Ausgabe der Linkliste
if ($i == $_GET['page'])
{
//wenn die aktuelle seite mit der aus der url übereinstimmt, wird diese unterstrichen
echo "<a href=\"?gb=index&page=".$i."&e=$maxproseite\"><u>".$i."</u></a> · ";
}
else
{
echo "<a href=\"?gb=index&page=".$i."&e=$maxproseite\">".$i."</a> · ";
}
}
echo "</div>";
echo "<hr />";
if (!isset($_GET['page']))
{
//wenn keine seitenzahl gegeben ist, dann hier die einträge mit limit ($maxproseite) auslesen
//limit beschränkt die einträge
$Query = "SELECT * FROM gaestebuch ORDER BY id DESC LIMIT 0, ".$maxproseite.";";
}
else
{
//wenn die variable $p ($_GET['page']) aus der url gelesen wurde, dann hier die abfrage
//mit den "$abeintrag" errechnen, und die einträge von $abeintrag bis $maxproseite auslesen
$p = $_GET['page'];
$abeintrag = $p * $maxproseite - $maxproseite;
$Query = "SELECT * FROM gaestebuch ORDER BY id DESC LIMIT ".$abeintrag.", ".$maxproseite.";";
}
$Result2 = mysql_query($Query);
und hier der teil für die Blätterfunktion
PHP-Code://die aktuelle seite wird mit GET ermittelt, und es wird einfach 1 seite abgezogen
$last = $_GET['page']-1;
if ($_GET['page'] == 1) //wenn die aktuelle seite 1 ist, dann kann man nicht weiter zurückblättern
{
echo "<< letze · ";
}
else
{
//andernfalls den link ausgeben
echo "<a href=\"?gb=index&page=$last&e=$maxproseite\"><< letze</a> · ";
}
for($i = 1; $i - 1< $seiten; $i++) //for ist auch eine schleife
{
//Ausgabe der Linkliste
if ($i == $_GET['page'])
{
//wenn die aktuelle seite mit der aus der url übereinstimmt, wird diese unterstrichen
echo "<a href=\"?gb=index&page=".$i."&e=$maxproseite\"><u>".$i."</u></a> · ";
}
else
{
echo "<a href=\"?gb=index&page=".$i."&e=$maxproseite\">".$i."</a> · ";
}
} //for beenden
//die aktuelle seite wird mit GET ermittelt, und es wird einfach 1 seite draufgerechnet
$next = $_GET['page']+1;
if ($_GET['page'] == $seiten) //wenn die aktuelle seite die letzte ist, dann kann man nicht weiter vorblättern
{
echo " nächste >>";
}
else
{
//andernfalls den link ausgeben
echo " <a href=\"?gb=index&page=$next&e=$maxproseite\">nächste >></a>";
}
Wer kann mir helfen?
David
-
In deinem Fall steckt diese Information in der $seiten-Variable.
Markus Wulftange
-
Das dachte ich mir schon...
Aber wie bekomme ich die letzte Seite da herausgezogen?
-
Ganz einfach: Die Menge der Einträge geteilt durch die Einträge, die du pro Seite anzeigen kannst, ergibt als Ergebnis die Anzahl der Seiten, die maximal gefüllt werden können. Einfachste Mathematik

45 Einträge - 15 willst du pro Seite anzeigen lassen:
45/15 = 3 Seiten
also ist deine letzte Seite die Seite 3
-
OH MAN, bin ich doof...
Wie einfach
Danke euch
Ähnliche Themen
-
Hilfe bei Blätterfunktion für F1-Testcenter Seite
Von adlershof im Forum PHPAntworten: 1Letzter Beitrag: 05.03.07, 17:09 -
Letzte besuchte Seite speichern
Von Naisetsu im Forum PHPAntworten: 2Letzter Beitrag: 28.06.05, 12:06 -
1. und letzte seite in indesign cs v3.0 verbinden
Von Sarah im Forum Sonstige Grafik-ProgrammeAntworten: 2Letzter Beitrag: 24.11.04, 08:45 -
Blätterfunktion nur die letzte Seite mit Tabelle
Von rotmilan im Forum PHPAntworten: 0Letzter Beitrag: 07.10.04, 12:02 -
Bild-Zeitung 23.7. - letzte Seite
Von Daniel Mannheimer im Forum SmalltalkAntworten: 14Letzter Beitrag: 06.08.03, 22:56





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren