functie de generat paginatie

Written by on 16 June 2009 in PHP - 5 Comments

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

Oamenii au ajuns aici cautand:

  • paginatie php
  • paginatie
  • paginatie simpla in php
  • soft pentru facut paginatie
  • web paginatia

Daca ti-a placut acest articol, recomanda-l si altora folosind butoanele pentru Twitter, Facebook si Google +1.


Despre autor

Agavriloaie Marius

Sunt programator web in PHP. Cunosc bine PHP 5, mySQL 5, Javascript, CSS, HTML, Ajax,Symfony, etc. Am participat la dezvoltarea multor proiecte complexe dar si simple si fac totul cu pasiune si placere.

Comenteaza prin Facebook:

5 Comments on "functie de generat paginatie"

  1. Adi Ulici 15 November 2009 at 00:02 ·

    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 6 March 2010 at 11:41 ·

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

  3. Valentin 21 June 2011 at 18:16 ·

    Ca de obicei, gasec informatii utile pe blogul tau. Functia asta a fost o surpriza foarte placuta si vreau sa o folosesc. Multam’

Trackbacks for this post

  1. Afisare de cod Javascript sau Php pe wordpress - Scripturi PHP - dexblog.ro
  2. functie de generat paginatie – revizuita - Php - dexblog.ro

Leave a Comment