Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    135

    dividere contenuto array in piu pagine

    salve a tutti.
    come potrei dividere in contenuto di un array, ovviamente la dimensione non la so a priori, in più pagine, proprio come avviene quando si creano delle news dove si stampano ad esempio 3 news a pagina???
    io vorrei creare una cosa simile dove vorrei stampare 3 celle dell'array ad ogni pagina, con la possibilità di navigare avanti e indietro, senza conoscere la dimensione dell array a priori...
    spero di esser stato chiaro e in un vostro aiuto!

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    L'array lo popoli con dati presi da un database?
    In tal caso: link

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    135
    l array lo riempio tramite contenuto di un file

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Se lo metti in sessione puoi fare una cosa molto simile a ciò che c'è scritto nel tutorial che ti ho linkato, devo solo stare attento a prendere gli indici dell'array in base alla pagina che si sta visualizzando.

    con count() puoi sapere di quanti elementi è composto l'array, con una semplice divisione puoi sapare quante pagine servono per visualizzare tutti i contenuti e in base alla pagina in cui ti trovi, sempre con una divisione, puoi decidere da quale indice a quale indice devi prendere.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    135
    diciamo che sono a buon punto, prendendo quel tutorial come spunto ho scritto questo:

    Codice PHP:
    <?php

    // recupero dati da file
    $file fopen("admin/data_news""r");
    $cont fread($filefilesize("admin/data_news"));
    fclose($file);
    $cont_array explode("\n"$cont);

    // numero totale di records
    $tot_records count($cont_array)-1;

    // risultati per pagina(secondo parametro di LIMIT)
    $per_page 3;

    // numero totale di pagine
    $tot_pages ceil($tot_records $per_page);

    // pagina corrente
    $current_page = (!$_GET['page']) ? : (int)$_GET['page'];

    // primo parametro di LIMIT
    $primo = ($current_page 1) * $per_page;

    echo 
    "<div align=\"center\">\n<table>\n";

    // esecuzione seconda query con LIMIT
    $query_limit mysql_query("SELECT id, nome FROM nome_tabella LIMIT $primo$per_page");
    while(
    $results mysql_fetch_array($query_limit)) {
    echo 
    " <tr>\n <td>";
    echo 
    "<a href=\"page.php?id=" $results['id'] . "\">" $results['nome'] . "</a>
    "
    ;
    echo 
    "</td>\n </tr>\n";
    }

    $paginazione "Pagine totali: " $tot_pages "
    ["
    ;
    for(
    $i 1$i <= $tot_pages$i++) {
    if(
    $i == $current_page) {
    $paginazione .= $i " ";
    } else {
    $paginazione .= "<a href=\"?page=$i\" title=\"Vai alla pagina $i\">$i</a> ";
    }
    }
    $paginazione .= "]";


    // in questa cella inseriamo la paginazione
    echo " <tr>\n <td height=\"50\" valign=\"bottom\" align=\"center\">$paginazione</td>\n";

    echo 
    " </tr>\n</table>\n</div>";

    ?>
    adesso non capisco la condizione del ciclo dove ce // esecuzione seconda query con LIMIT e come far stampare il contenuto dell'array

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    135
    qualche suggerimento?

  7. #7
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,648
    io uso array_chunk, gli passi l'array e il totale di elementi per cui deve essere diviso, ti crea un nuovo array multidimensionale, con al suo interno il tuo array originario suddiviso.

    http://php.net/manual/en/function.array-chunk.php

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    135
    il mio problema sta qui:
    Codice PHP:
    $query_limit mysql_query("SELECT id, nome FROM nome_tabella LIMIT $primo$per_page"); 
    while(
    $results mysql_fetch_array($query_limit)) { 
    non capisco che condizione devo mettere al posto di questa che mi funziona nel mio caso...

  9. #9
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,648
    Credo che tu debba specificare bene la situazione in cui stai operando, quella guida che ti è stata consigliata serve ad operare su un database MySql, tu da quel che leggo stai operando su un file di testo.

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    135
    infatti su ho detto ke sto cercando di riadattarlo nel mio caso e non capisco quella condizione che fa per poterla riadattare...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.