BigThink

Facebook Paginator: creare una paginazione in stile Facebook

Ti è capitato di sviluppare Applicazioni Facebook dove devi mostrare lunghe serie di dati? Magari hai la tabella con tutti gli utenti iscritti, ma non puoi mostrare 10.000 record tutti sulla stessa pagina!

Ecco che allora tornerebbe utile un sistema di paginazione che divida i vari record su più pagine, facilmente navigabili.

Perchè allora non usare la struttura e lo stile di Facebook? Hai presente la paginazione usata, ad esempio, negli album di foto con i vari numeri di pagina?

In questo articolo vedremo come farlo anche sulla nostra Applicazione.

1. Scarica Facebook Paginator

Cercando in rete ho trovato un’ottima funzione che svolge il compito alla perfezione. Qui sotto puoi scaricare tutti i sorgenti necessari.

Facebook Paginator  Facebook Paginator (1,9 KiB) - scaricato 845 volte

2. Configurazione

Dopo aver scaricato e scompattato lo zip, incolla i file nella cartella della tua applicazione ed includi il file che contiene la funzione:

<?php include_once('paginator.php'); ?>

Quindi includi il foglio di stile del Paginator:

<?php $ts = filemtime("paginator.css"); ?>
<link rel="stylesheet" type="text/css" media="screen" href="http://www.tuosito.it/app/paginator.css?ts=<?php echo $ts; ?>" />

3. Come si usa

L’utilizzo è molto semplice:

  • Per prima cosa definisci le seguenti variabili:
// Numero di record per pagina
$perpage = 15;

// Numero della pagina corrente
$pageno = isset($_GET['page']) ? $_GET['page'] : 1;
  • Effettua la query per recuperare la prima pagina dei risultati, in questo modo:
$start = $perpage * ($pageno - 1);
$end = $perpage;
$sql = "SELECT * FROM tabella LIMIT $start, $end";
// esegui la query...
  • Esegui una seconda query che recuperi il numero totale dei rercord da paginare:
$sql = "SELECT COUNT(*) AS tot FROM tabella"
// esegui la query e salva il numero in $tot
  • Richiama la funzione nel punto dove vuoi far comparire la paginazione:
<div class="paginator">
    <?php echo paginate($pageno, $tot, $perpage); ?>
</div>

4. Parametri della funzione

  • Numero della pagina corrente.
  • Numero totale rei record da paginare.
  • Numero di record per pagina.
  • Oggetto Ajax (vedi dopo).
  • URL della pagina da linkare.
  • Query string da aggiungere al link.
  • Nome degli oggetti che vengono paginati (“prodotti”, “utenti”, “items”…).
  • Posizione della paginazione: paginazione in alto (summary) o paginazione in basso (footer).

5. AJAX

La funzione supporta anche la funzionalità di Mock AJAX di Facebook: cliccando sui link della paginazione, i record seguenti verranno caricati nella stessa pagina senza bisogno di alcun refresh.

Per utilizzare questa modalità, bisogna passare come quarto parametro un array di questo tipo:

$ajax_top = array('rewriteurl' => 'http://www.miosito.it/app/ajax.php',
                  'rewriteid' => 'mypagination',
                  'rewriteform' => 'mypagination_form',
                  'loadingimg' => 'spinner');

La pagina ajax.php andrà costruita in modo da elaborare le ulteriori pagine con i record successivi. Per maggiori informazioni, leggi la documentazione.

Infine aggiungi l’immagine per il loader, che verrà mostrata durante il caricamento delle pagine AJAX:

<img src="http://www.miosito.it/app/images/loading.gif" id="spinner" style="display:none;"/>

Personalmente ho provato solo la versione normale, senza AJAX, ma immagino che funzioni comunque. Se hai modo di testarla, fammi sapere.

Concludo precisando che questa funzione non è solamente per le Applicazioni Facebook, ma può essere utilizzata su qualsiasi sito o applicazione web desideriate (eccetto per la modalità AJAX, ovviamente)!

Articolo scritto da Ghido

Fondatore di BigThink.it, si occupa dello sviluppo e del coordinamento dei progetti tecnologici. Specializzato nel Marketing su Facebook e nello sviluppo di Applicazioni Social, fa consulenza e formazione ad aziende ed agenzie.

Leggi anche...

Links Analytics: la mia prima Applicazione Facebook!

Links Analytics: la mia prima Applicazione Facebook!

O forse dovrei dire: la prima Applicazione Facebook che ho deciso di rilasciare. A cosa serve Links Analytics? Visualizza tutti i link che avete condiviso sulla Bacheca del vostro Profilo Privato e, per ognuno, indica: quante volte è stato condiviso; a quanti è piaciuto; quanti commenti ha ricevuto; quante volte è stato cliccato dalla vostra Bacheca. Utile per avere ...
I migliori articoli del 2010 di BigThink

I migliori articoli del 2010 di BigThink

Anche questo 2010 va ormai a concludersi e, come ogni anno, è bene tirare un po' le somme. Lascio ad un futuro post le considerazioni sull'anno passato e per ora mi limito a riassumere qui tutti i migliori articoli dell'anno, per chi se li fosse persi. Auguri e buone feste a tutti i lettori di ...
Ebook gratis in italiano su Facebook e Twitter

Ebook gratis in italiano su Facebook e Twitter

Per la gioia degli amanti dei libri virtuali, ho stilato una nuova lista di ebook gratuiti in italiano. Oggi tocca agli ebook su Facebook e Twitter, dalle guide base a quelle più avanzate. Potrai scoprire come utilizzare i due Social Network a livello utente, oppure a livello esperto, per promuovere la tua attività o il ...
Facebook: Tutti i segreti del Tab IFRAME e i contenuti riservati

Facebook: Tutti i segreti del Tab IFRAME e i contenuti riservati

Settimana scorsa ti ho spiegato come creare un Tab IFRAME personalizzato sulla tua Pagina Facebook. Oggi vediamo come implementare i contenuti riservati solamente ai fan, ovvero l'ormai classico "sistema coupon": se non sei fan vedi il Landing Tab, se clicchi "Mi piace" potrai accedere al contenuto speciale solo per gli iscritti alla Pagina. 1. Come ...
Facebook e il Project Spartan: facciamo chiarezza

Facebook e il Project Spartan: facciamo chiarezza

Pochi giorni fa, Facebook ha aggiornato la sua applicazione Mobile per iPhone e ha (finalmente) lanciato quella per iPad. Oltre a rinnovarla graficamente e aggiungervi nuove funzionalità, Facebook ha introdotto una novità a cui forse non è stata data abbastanza importanza: da ora, le Applicazioni Facebook saranno disponibili anche nella versione mobile!! Già. Non so ...

3 Commenti

  1. ciao ghido scusami ero occupato a creare un nuovo modo di fare ppc e colorati x altro,oggi il mercato è saturo di tutto e nulla attrae più,stò portando avanti anche una campagna di pubblicità che permetto anche gratis,ho dato opportunità di fare resellewr hosting gratis x vedere i risultati il fatto è che in italia non vi è ancora la mentalità x la rete tutti usano internet x musica,facebook e affini ma non x proporre cose nuove a parte i progetti open source,vediamo che ne esce,buon week end by

    4 settembre 2010, 12:20
  2. ghido ma sai che dire che faceboot è utopia è azzardato?,io ci avevo già pensato e onestamente sono andato xchè credevo che mi avessi rubato l’idea ma ora sono sollevato e al lancio lo chiamerò facebbot 2 la vendetta xchè sai se non lo sapessi io sono mistercall360 il creatore dei phone center,di mobile24,di futurcall,e del polo tecnologico tutti miei sviluppi che google ha tanto decantato quindi aspettami eheh ciao ghi

    2 aprile 2010, 02:49
    • Ciao, Marco.
      In effetti alcune cose di Facebot sono realizzabili:
      - Un’app che manda gli auguri agli amici il giorno del loro compleanno è molto faile da realizzare.
      - App per il riconoscimento del tagging sulle foto esistono già.
      - Script esterni che autoaccettano le amicizie si trovano in giro.
      - Script che automatizzano alcune operazioni di FarmVille e Mafia Wars anche.

      Come vedi, non è niente di così impossibile ;)

      2 aprile 2010, 11:16

3 Citazioni