Noua versiune de funcție se găsește aici
Am dezvoltat acum ceva timp o funcție în limbajul PHP pentru generarea paginării numerice pe site-uri web, adaptabilă în funcție de volumul de pagini.
Parametrii utilizați de această funcție sunt:
$total_page– numărul total de pagini disponibile;$curr_page– numărul paginii curente active;$url– șablonul de URL în formatulindex.php?pagina=[page](unde marcatorul[page]este înlocuit automat cu numărul paginii corespunzătoare).
Codul sursă al funcției make_pages
<?php
function make_pages($total_page, $curr_page, $url) {
$da = "";
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;
}
?>
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’