Originariamente inviato da StefanoV
In Effetti non l'ho uppata!

Eccotela qui: http://www.mediafire.com/?1zqd3gnseyk
ciao,

mi permetto di darti un pò di consigli sul codice della classe della paginazione:
- l'indentazione cosi è decisamente confusionaria, le funzioni sono all'interno della classe, cosi come le variabili, non possono stare sullo stesso livello di intendazione devi spostarle avanti ... senno non serve
- splittare la query string per il carattere & è un grosso errore infatti php da la possibilità anche di splittarle tramite & perché dipende dalle situazioni il carattere & non è usato per la separazione ma & dato che & cosi buttato li è l'inizio di una entità
- sempre invece di splittare, se non vuoi fare differenza tra get e post, anche se ti conviene scegliere un metodo ed usare sempre quello, puoi usare l'array _REQUEST, super globale come _GET e _POST
- nel costruttore imposti una serie di variabili della classe che non sono settate e che, programmando con i notice abilitati, darebberò errori a gogo (è sempre importante programmare con i notice attivi perché sono errori spesso più dannosi dei warnings)
- la funzione conta records cosi è un pò un suicidio perché il num_records fisicamente cicla i risultati e li conta uccidendo l'esecuzione, soprattutto se questi son tanti! Dovresti piuttosto lanciare la query utilizzando le funzioni unbuffered e prima di lanciarla utilizzare una reg_exp per modificare la select ponendo subito dopo lo statement (la parola chiave select) l'altra parola chiave SQL_CALC_FOUND_ROWS che indica a mysql di conteggiare i record durante l'estrazione senza tenere conto del limit) per poi utilizzare un semplice SELECT FOUND_ROWS() che è infinitamente più veloce di usare il num_rows o di lanciare 2 query con il where uguale dove nella prima metti il count tramite una reg exp e poi lanci la seconda cosi com'è
- Inoltre passare la query di mysql al gestore della paginazione non ha molto senso infatti al gestore della paginazione devi passare 2 variabili ovvero la pagina corrente e le pagine totali ... ed altri eventuali valori specifici per il tipo di paginazione

Per finire, nel file esempio.php, per alleggerire notevolmente il carico, ti conviene piuttosto non fare l'echo di tutto ma accodarlo ad una variabile da buttare fuori alla fine in modo da poter costruire il contenuto tramite un while sul fectch se ci sono dati e all'interno valorizzare una variabile verificando poi alla fine se questa variabile e stata settata perché se non lo è viene inserito un testo che avvisa che non ci sono presenti records altrimenti viene aggiunta prima e/o dopo la paginazione