Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Guestbook su più pagine

    Ciao a tutti sto creando il mio primo guestbook, però ho un problema non riesco a far estrapolare dal DB
    un certo limite di messaggi.
    Volevo sapere come dividere in più pagine in modo dinamico i messaggi
    Vi ringrazio!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    select ... limit 0,30
    per la prima pagina

    select ... limit 30, 30
    per la seconda

    quindi alla fine della query metti limit
    i parametri sono 2, il primo indica da quale riga , il secondo quante righe
    nel caso dell'esempio ho messo 30 elementi per pagina questo vuol dire che la prima pagina visualizzerà le prime 30 righe ( 1-30 ) la seconda da 31 a 60 e così via

    in generale a pagina x se visualizzi y elementi per pagina
    la query verrà:
    select ... limit (x-1)*y,y

    pagina 1---------> (1-1)*30
    pagin2 2---------> (2-1)*30
    .
    .
    .
    pagina 100-------> (100-1)*30

    //ecco il codice

    if(isset($_GET['paginaAttuale']))$paginaAttuale = $_GET['paginaAttuale'];
    else $paginaAttuale = 1;

    $quanti = 30;
    $da = ($paginaAttuale-1)*$quanti;

    $query = "select .... limit $da, $quanti";
    .
    .
    .


    $res = mysql_query(select count(*)... as nrighe from tabella group by ...);
    $ris = mysql_fetch_object($res);
    $nrighe = $ris->nrighe;
    $npagine = ceil($nrighe/$quanti);

    if($paginaAttuale > 1){
    $paginaPrecedente = $paginaAttuale - 1;
    ?>
    <a href='http://www.miosito.php?paginaAttuale=<?php echo $paginaPrecedente ?>' />
    <?php
    }
    if($paginaAttuale < $npagine){
    $paginaSuccessiva = $paginaAttuale + 1;
    ?>
    <a href='http://www.miosito.php?paginaAttuale=<?php echo $paginaSuccessiva ?>' />
    <?php
    }
    ?>
    //fine codice

    quindi lo script:
    - recupera il numero di pagina attuale se non lo trova lo setta a 1
    -stabilisce quanti elementi visualizzare e lo mette nella variabili $quanti
    -in base alla pagina attuale alla variabile quanti imposta da quale elemento visualizzare in poi
    -fa la query
    *tu visualizzerai il risultato della query
    -conta il numero di righe della query che vuoi visualizzare(quindi devi fare la stessa query che fai per visualizzare i dati aggiungendo count e group by e levando limit
    -se la pagina attuale è successiva alla prima visualizza il link alla pagina precedente
    -se la pagina attuale è precedente all'ultima pagina visualizza il link alla pagina successiva

    ...più di questo non so cosa dire

  3. #3
    grazie sei stato gentilissimo provo a farlo!

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.