Visualizzazione risultati 1 fino 3 di 3

Discussione: [php] Impaginazione file di testo

  1. #1
    Guest

    Predefinito [php] Impaginazione file di testo

    Io sto cercando di fare una photo gallery che funzioni senza database, semplicemente con un file di testo, sono riuscito a fare tutto, l'unico problema è l'impaginazione, il codice che uso é questo:
    Codice PHP:
    <?php
    $file_image
    = file("Foto/img.txt");

    $count = count($file_image);

    // numero totale di records
    $tot_records = $count;

    // risultati per pagina(secondo parametro di LIMIT)
    $per_page = 2;
    // numero totale di pagine
    $tot_pages = ceil($tot_records / $per_page);

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

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

    $secondo = $per_page*$current_page;


    for(
    $i = $primo; $i < $secondo; $i++){
    $arr2 = explode("|", $file_image[$i]);
    $ti = date("d/m/Y \a\l\l\e H:i", $arr2[2]);
    $width = $arr2[3];
    $height = $arr2[4];
    if(
    $width > 500 || $height > 500){
    $nw = $width/2;
    $nh = $height/2;
    } else {
    $nw = $width;
    $nh = $height;
    }
    echo
    "<img src=\"Foto/immagini/{$arr2[0]}\" title=\"{$arr2[1]}\" width=\"$nw\" height=\"$nh\"><br />Caricata il $ti da {$arr2[1]}<br /><br />";
    }
    include(
    "paginazione.php");

    echo
    $paginazione;

    ?>

    il file paginazione.php contiene solo la parte "grafica" dell'impaginazione (quella con scritto "Pagine totali 2 [1 2]")

    il problema si presenta se le immagini caricate sono dispari, infatti io ho caricato 5 immagini, e le visualizzo due per pagina, tutto bene all'inizio, ma all'ultima pagina visualizzo l'ultima immagine e anche una in più che non contiene niente (guardate qua)

    come posso risolvere?

  2. #2
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Il problema è che nel loop for, $i supera gli elementi dell'array (con un error_reporting(E_ALL) a inizio pagina te ne saresti accorto).

    Ti basta inserire un'altra condizione nel for:
    Codice PHP:
    for($i = $primo; $i < $secondo && isset($file_image[$i]); $i++){

  3. #3
    Guest

    Predefinito

    il problema mi era venuto in mente, non avevo pensato alla soluzione, grazie mille

Regole di scrittura

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