Noua versiune de functie se gaseste aici
Am facut acuma ceva timp o functie de generat paginatie in php
in care:
- $total_page = numar de pagini
- $curr_page – numarul curent de pagini
- $url = url-ul in format index.php?pagina=[page] ([page] este inlocuit cu numarul paginii)
[php]<?php
function make_pages($total_page, $curr_page, $url) {
if ($total_page < 1) {
$da .= "<a href=’" . str_replace ( "[page]", 1, $url ) . "’>1</a> | ";
}
if ($total_page < 15) {
for($i = 1; $i < ($total_page + 1); $i ++) {
if ($i == $curr_page) {
$da .= "<b>" . $i . "</b> | ";
} else {
$da .= "" . $i . " | ";
}
}
} else {
if ($curr_page < 8 ) {
for($i = 1; $i < 11; $i ++) {
if ($i == $curr_page) {
$da .= "<b>" . $i . "</b> | ";
} else {
$da .= "" . $i . " | ";
}
}
$da .= " …. | ";
for($i = ($total_page – 5); $i < ($total_page + 1); $i ++) {
$da .= "" . $i . " | ";
}
}
if (($curr_page > 7) && ($curr_page < ($total_page – 4))) {
for($i = 1; $i < 4; $i ++) {
if ($i == $curr_page) {
$da .= "<b>" . $i . "</b> | ";
} else {
$da .= "" . $i . " | ";
}
}
$da .= " …. | ";
for($i = ($curr_page – 4); $i < ($curr_page + 5); $i ++) {
if ($i == $curr_page) {
$da .= "<b>" . $i . "</b> | ";
} else {
$da .= "" . $i . " | ";
}
}
$da .= " …. | ";
for($i = ($total_page – 3); $i < ($total_page + 1); $i ++) {
$da .= "" . $i . " | ";
}
} elseif (($curr_page > 7)) {
for($i = 1; $i < 4; $i ++) {
$da .= "" . $i . " | ";
}
$da .= " …. | ";
for($i = ($total_page – 7); $i < ($total_page + 1); $i ++) {
if ($i == $curr_page) {
$da .= "<b>" . $i . "</b> | ";
} else {
$da .= "" . $i . " | ";
}
}
}
}
return $da;
}
?>
[/php]
Buna functia
Si eu mi-am facut ceva de genu’, numa ca am preferat sa fac o clasa ca sa pot folosi mai multe optiuni si sa am si o metoda care sa imi modifica automat query-ul.
Un lucru ce l-ai putea adauga ar fi un link separat pentru prima pagina, pentru cei care folosesc mod rewrite, ca sa nu fie doua pagini cu acelasi continut (/poze/pag1.html si /poze/)
O iti mai urmaresc blog-ul, sper sa mai adaugi chestii de genu
Toate cele bune
.-= Adi Ulici a mai scris si urmatorul articol: Peisaje de toamna =-.
Acum am vazut comentariul si am uitat sa iti raspund.
Poti pune orice tip de link.
Poti pune si blablabla/balblabla-[page].html
el doar modifica page cu numarul:)
Ca de obicei, gasec informatii utile pe blogul tau. Functia asta a fost o surpriza foarte placuta si vreau sa o folosesc. Multam’