Visualizzazione risultati 1 fino 3 di 3

Discussione: [PHP]Paginazione

  1. #1
    Guest

    Predefinito [PHP]Paginazione

    Allora, io ho un'array di 97 elementi, stamparli tutti in una pagina con un cilclo foreach() mi sembra eccessivo quindi vorrei suddividere i vari elementi su più pagine e tramite due link ("Avanti"-"Indietro") vorrei effettuare la navigazione tra le varie pagine. Il problema sta nel fatto che non ho minimamente idea di come poter fare una cosa del genere! Se qualcuno può aiutarmi gliene sarei molto grato!

    -ciao

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Al posto di del valore di $numperpagina metti quanti elementi vuoi vedere per pagina e al posto di $array metti il nome dell'array. Dentro al ciclo for devi gestire tu come visualizzare il contenuto dell'array. Spero che sia esatto...
    Codice PHP:
    $numperpagina=10;
    if (isset(
    $_GET['pagina']))
    $pagina=$_GET['pagina'];
    else
    $pagina=1;
    $inizio=($pagina-1)*$numperpagina;
    $fine=$inizio+$numperpagina;
    if (
    $fine>count($array))
    $fine=count($array);
    for(
    $i=$inizio,$i<$fine;$i++)
    echo
    $array[$i]."<br>";
    if (
    $pagina!=0)
    echo
    "<a href=\"?pagina=".($pagina-1)."\">Indietro</a>";
    if (
    $inizio+$numperpagina<=count($array))
    echo
    "<a href=\"?pagina=".($pagina+1)."\">Avanti</a>";
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Il codice è giusto, ma solo se gli elementi dell'array sono identificati per chiavi numeriche. Se sono identificati con chiavi testuali l'unica cosa che puoi fare è questa:
    Codice PHP:
    $numperpagina=10;
    if (isset(
    $_GET['pagina']))
    $pagina=$_GET['pagina'];
    else
    $pagina=1;
    $inizio=($pagina-1)*$numperpagina;
    $fine=$inizio+$numperpagina;
    if (
    $fine>count($array))
    $fine=count($array);

    /***** EDIT BY DS4 *****/
    $i = 0;
    foreach (
    $array as $v)
    {
    if (
    $i >= $fine)
    // interrompi, non ha più senso continuare!
    break;
    if (
    $i >= $inizio)
    // stampa il valore
    echo ($v . '<BR>');
    // questa va comunque eseguita!
    $i++;
    }
    /***********************/

    if ($pagina!=0)
    echo
    "<a href=\"?pagina=".($pagina-1)."\">Indietro</a>";
    if (
    $inizio+$numperpagina<=count($array))
    echo
    "<a href=\"?pagina=".($pagina+1)."\">Avanti</a>";
    Statemi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •