Thursday, September 2, 2010

functie de generat paginatie

iunie 16, 2009 · 2 Comentarii 

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
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;
}
?>

Ai mai putea fi interesat de:

  1. functie de generat paginatie – revizuita
  2. Functie de verificat viteza unui query
  3. functie php de verificat varsta
  4. Cum sa scoti tot codul HTML dintr-un text
  5. Adauga tipuri diferite de pagini in WordPress 3.0

Comentarii

2 comentarii la “functie de generat paginatie”
  1. Adi Ulici spune:

    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 =-.

  2. Dexter spune:

    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:)

Stiu ca vrei sa spui ceva...

Hai spune ce gandesti...
si daca nu ai o poza o poti incarca pe gravatar!

Comments links could be nofollow free.

gazduire web