fRagiLeMOD
Mitglied
Hallo nochmal,
hat ja das letzte Mal gut funktioniert mit der Hilfe. ;-)
Nun folgendes - ich habe eine Blätter funktion programmiert die bei mehreren Einträgen verteilt auf 12 Seiten so aussieht:
Seite: Erste | Zurück | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | Weiter | Letzte
Nun ist es ja nervig, wenn man z.B. 50 Seiten hat, dass alle Zahlen von 1 - 50 dort stehen.
Ich möchte nun nur - wenn man sich beispielsweise auf Seite 7 befindet - dass 5 Seiten angezeigt werden. Und zwar so:
Erste | Zurück | 5 | 6 | 7 | 8 | 9 | Weiter | Letzte
Ich hab schon einiges versucht, komme aber einfach zu keiner Lösung.
Könnt Ihr mir helfen?
Hier die Funktion:
Gruß fRagiLeMOD
hat ja das letzte Mal gut funktioniert mit der Hilfe. ;-)
Nun folgendes - ich habe eine Blätter funktion programmiert die bei mehreren Einträgen verteilt auf 12 Seiten so aussieht:
Seite: Erste | Zurück | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | Weiter | Letzte
Nun ist es ja nervig, wenn man z.B. 50 Seiten hat, dass alle Zahlen von 1 - 50 dort stehen.
Ich möchte nun nur - wenn man sich beispielsweise auf Seite 7 befindet - dass 5 Seiten angezeigt werden. Und zwar so:
Erste | Zurück | 5 | 6 | 7 | 8 | 9 | Weiter | Letzte
Ich hab schon einiges versucht, komme aber einfach zu keiner Lösung.
Könnt Ihr mir helfen?
Hier die Funktion:
PHP:
// [Anzahl der Beiträge], [Beiträge pro Seite], [Query String], [zusätzlicher Query String]
function browsePages($items, $itemsPerPage, $queryString, $extendedQueryString)
{
// Wenn mehrere Query Strings angegeben sind wird & als Oberator gewählt, ansonsten ?
if($extendedQueryString == '')
$operator = '?';
else
$operator = '&';
// Seitenanzahl bestimmen
if($items > $itemsPerPage)
{
$pages = intval($items / $itemsPerPage);
if($items % $itemsPerPage)
$pages++;
echo _PAGES.': ';
}
// Eine Seite zurück & Startseite
if($_GET[$queryString] != 0)
{
$iNegativeQS = $_GET[$queryString] - $itemsPerPage;
echo '
<a href="'.$_SERVER[PHP_SELF].$extendedQueryString.$operator.$queryString.'=0">'._FIRST.'</a> |
<a href="'.$_SERVER[PHP_SELF].$extendedQueryString.$operator.$queryString.'='.$iNegativeQS.'">'.GO_BACK.'</a> | ';
}
// Seiten auflisten
for($i = 1; $i <= $pages; $i++)
{
$j = ($i - 1) * $itemsPerPage;
if($_GET[$queryString] == $j)
echo '<b>'.$i.'</b> | ';
else // Beispiel: index.php ( ?category=$i ) ? // & page = $j
echo '<a href="'.$_SERVER[PHP_SELF].$extendedQueryString.$operator.$queryString.'='.$j.'">'.$i.'</a> | ';
}
$iLastPage = ($pages * $itemsPerPage) - $itemsPerPage;
// Eine Seite weiter & letzte Seite
if($_GET[$queryString] != $iLastPage)
{
$iPositiveQS = $_GET[$queryString] + $itemsPerPage;
echo '
<a href="'.$_SERVER[PHP_SELF].$extendedQueryString.$operator.$queryString.'='.$iPositiveQS.'">'.GO_FORWARD.'</a> |
<a href="'.$_SERVER[PHP_SELF].$extendedQueryString.$operator.$queryString.'='.$iLastPage.'">'._LAST.'</a>';
}
}
Gruß fRagiLeMOD