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 888 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...

Come creare una Video Gallery sulla tua Pagina Facebook

Come creare una Video Gallery sulla tua Pagina Facebook

L'altro giorno mi ha contattato l'amico Julius, chiedendomi aiuto per inserire una video gallery sul Tab sulla sua Pagina Facebook. Voleva far sì che, cliccando sulle miniature dei suoi video, si visualizzasse in grande il video corrispondente. Gli ho dato qualche dritta ed è riuscito ottimamente nell'impresa. Ecco come è venuto il suo Tab. Vediamo ...
Plugin: inserire automaticamente il profilo Twitter nei commenti

Plugin: inserire automaticamente il profilo Twitter nei commenti

Uno dei tanti plugin per WordPress che ci permettono di portare i Social Network sul nostro blog è l'interessante Automagic Twitter Profile URI. Grazie a questo plugin, daremo la possibilità all'utente che commenta un nostro articolo di inserire automagicamente il link al suo profilo Twitter, tramite un piccolo checkbox nel form dei commenti. Come funziona? ...
Sei gradi di separazione

Sei gradi di separazione

Secondo voi quanti gradi di separazione ci sono tra una persona di Rio de Janeiro e un'altra localizzata al Polo Nord? Scopriamolo insieme con la prima vignetta umorisitica di una lunga serie.
Sei uno sviluppatore Facebook o un aspirante tale?

Sei uno sviluppatore Facebook o un aspirante tale?

Sei uno sviluppatore di Applicazioni Facebook o stai studiando per diventarlo? Ti invito allora a diventare fan di questa Pagina che ho creato su Facebook: [fanbox id="242766447165" stream="0" conn="0"] Troverai risorse, guide e idee per sviluppare le tue Applicazioni, incontrerai altri Developers a cui chiedere consigli e con cui confrontarti. L'idea è quella di creare un punto ...
Facebook: come rendere disponibile un contenuto solo ai fan

Facebook: come rendere disponibile un contenuto solo ai fan

Come promesso, oggi ti svelerò un trucchetto per Facebook che non molti conoscono. Imparerai così a creare un contenuto che sia disponibile solo a quegli utenti che diventano fan della tua Pagina. Abbiamo visto vari esempi di pagine che usano questa tecnica per invogliare gli utenti a diventare fan, offrendo loro bonus e coupon. ...

6 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