Scusate se mi intrometto, non vorrei romperi le uova nel paniere
ma io già da tempo ho creato una classe apposita per paginare più elementi, provenienti da un database ma ance da qualsiasi altro posto.
Non utilizza cookie
che non favoriscono proprio l'indicizzazione da parte dei motori di ricerca ma esclusivamente i più semplici parametri GET.
La classe è disponibile per il download sia sul mio sito all'indirizzo
http://www.direfareprogrammare.com/s...?id_sorgente=1
che su PHPClasses all'indirizzo
http://www.phpclasses.org/browse/package/3723.html
Zumo non preoccuparti il suo utilizzo è molto semplice, ed insieme ai sorgenti c'è anche un esempio e la documentazione.
Ti posto l'esempio dell'uso della classe riadattato
Codice PHP:
....
include("PageNavigator.php");
include("functions.inc.php");
$query="SELECT quello,che,vuoi FROM tua_tabella WHERE quello='come ti pare'";
$mysql_result=mysql_query($query);
$resultsPerPage=5;
$PN=new pageNavigator(mysql_num_rows($mysql_result),"navigazione","select",$resultsPerPage,"navigazione");
$PN->setLanguage("italian");
echo $PN->show_page_browsing(false)."
";
$mysql_result=mysql_query($query." ".$PN->getLimit());
while ($row=mysql_fetch_array($mysql_result))
{
//qui tutte le operazioni di stampa che vuoi
}
echo $PN->show_page_browsing(true,5)."
";
echo $PN->show_RPP_browsing(3,4);
.....
Scusami stefanoV, non vorrei proprio offenderti ma la classe che hai postato proposta da lex84
usa una funzione per mostrare i risultati in un file separato usando l'istanza dell'istanza dell'oggetto della paginazione come variabile globale
....tutto questo è molto
VVoVe: e per niente Object Oriented.
La funzione che mostra i risultati dovrebbe essere una funzione della classe stessa.
In questo modo togli il vincolo di avere un'istanza dell'oggetto con quel nome ($pg) fisso
e soprattutto aggiungi la possibilità di avere più istanze dell'oggetto.
A proposito di paginazione, colgo l'occasione per segnalarvi l'articolo che ho appena scritto che spiega come suddividere un testo contenente tag HTML senza lasciare tag aperti.
Il testo magari contenuto in un campo di una tabella di database viene suddiviso in un array e quindi può essere stampato in più pagine.
L'articolo è disponibile a questo indirizzo
http://www.direfareprogrammare.com/a...?id_articolo=3
Spero che tutto ciò possa esservi utile