Tuesday, September 7, 2010

functie de generat paginatie – revizuita

martie 6, 2010 · Lasa un comentariu 

Acum ceva timp vorbeam despre o functie de generat paginatie in PHP.

Ei bine timpul a trecut si am avut timp sa dezvolt mai bine functia.

Daca veti face niste comparatii intre cele doua functii veti observa ca delimitatorul dintre pagini este o variabila pe care o puteti modifica cum doriti. Mai multe detalii gasiti si in fisierul functie.zip.

In continuare va invit sa observati varianta revizuita a functie de generat paginatie:

function make_pages($total_page, $curr_page, $url, $next = 0,$delim=" | ") {

if ($next == 1) {

if ($total_page > 1) {

if ($curr_page > 1) {

$da .= "<a href=\"" . str_replace ( "[page]", ($curr_page - 1), $url ) . "\" class=\"paginatie_prev_page\">&nbsp;</a> $delim ";

} else {

$da .= "<a href=\"#\" class=\"paginatie_prev_page\">&nbsp;</a> $delim ";

}

}

}

if ($total_page < 1) {

$da .= "<a href='" . str_replace ( "[page]", 1, $url ) . "'>1</a> $delim ";

}

if ($total_page < 15) {

for($i = 1; $i < ($total_page + 1); $i ++) {

if ($i == $curr_page) {

$da .= "<span class=\"curr\">" . $i . "</span> $delim ";

} else {

$da .= "<a href=\"" . str_replace ( "[page]", $i, $url ) . "\">" . $i . "</a> $delim ";

}

}

} else {

if ($curr_page < 8) {

for($i = 1; $i < 11; $i ++) {

if ($i == $curr_page) {

$da .= "<span class=\"curr\">" . $i . "</span> $delim ";

} else {

$da .= "<a href=\"" . str_replace ( "[page]", $i, $url ) . "\">" . $i . "</a> $delim ";

}

}

$da .= " .... ";

for($i = ($total_page - 5); $i < ($total_page + 1); $i ++) {

$da .= "<a href=\"" . str_replace ( "[page]", $i, $url ) . "\">" . $i . "</a> $delim ";

}

}

if (($curr_page > 7) && ($curr_page < ($total_page - 4))) {

for($i = 1; $i < 4; $i ++) {

if ($i == $curr_page) {

$da .= "<span class=\"curr\">" . $i . "</span> $delim ";

} else {

$da .= "<a href=\"" . str_replace ( "[page]", $i, $url ) . "\">" . $i . "</a> $delim ";

}

}

$da .= " ... ";

for($i = ($curr_page - 3); $i < ($curr_page + 3); $i ++) {

if ($i == $curr_page) {

$da .= "<span class=\"curr\">" . $i . "</span> $delim ";

} else {

$da .= "<a href=\"" . str_replace ( "[page]", $i, $url ) . "\">" . $i . "</a> $delim ";

}

}

$da .= " ... ";

for($i = ($total_page - 3); $i < ($total_page + 1); $i ++) {

$da .= "<a href=\"" . str_replace ( "[page]", $i, $url ) . "\">" . $i . "</a> $delim ";

}

} elseif (($curr_page > 7)) {

for($i = 1; $i < 4; $i ++) {

$da .= "<a href=\"" . str_replace ( "[page]", $i, $url ) . "\">" . $i . "</a> $delim ";

}

$da .= " ...  ";

for($i = ($total_page - 7); $i < ($total_page + 1); $i ++) {

if ($i == $curr_page) {

$da .= "<span class=\"curr\">" . $i . "</span> $delim ";

} else {

$da .= "<a href=\"" . str_replace ( "[page]", $i, $url ) . "\">" . $i . "</a> $delim ";

}

}

}

}

if ($next == 1) {

if ($total_page > 1) {

if ($curr_page < $total_page) {

$da .= "<a href=\"" . str_replace ( "[page]", ($curr_page + 1), $url ) . "\" class=\"paginatie_next_page\">&nbsp;</a> $delim ";

} else {

$da .= "<a href=\"#\" class=\"paginatie_next_page\">&nbsp;</a> $delim ";

}

}

}

return $da;

}

Poti sa descarci aceasta functie completa de aici.


Ai mai putea fi interesat de:

  1. functie de generat paginatie
  2. Cum sa scoti tot codul HTML dintr-un text
  3. Functie de verificat viteza unui query
  4. functie php de verificat varsta
  5. Afiseaza un mesaj in functie de unde vin utilizatorii

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