Visualizzazione dei risultati da 1 a 2 su 2

Discussione: paginazione

  1. #1

    paginazione

    $PG=$_REQUEST["PG"];

    if ($PG=="") $PG=1;
    if ($PG<1) $PG=1;

    $LUNG_PAG=10;

    $kq1="SELECT count(ID) as cnt FROM tabellax";
    $dkq1 = mysql_query($kq1);

    $CNT=0;

    $appoggio1 = mysql_num_rows($dkq1);

    if ($appoggio1>0) {
    $righeq1 = mysql_fetch_assoc($dkq1); $CNT=$righeq1['cnt']-0;
    }

    echo "Totale:".$CNT."

    ";

    $NP=ceil($CNT/$LUNG_PAG);

    if ($PG>$NP) $PG=$NP;

    echo "Numero di Pagine ".$NP."

    ";

    for($n=1;$n<=$NP;$n++) {
    echo "<a href=\"prova.php?PG=".$n."\">".$n."</a>";
    }

    echo "

    ";
    echo "Pagina Corrente:".$PG;
    echo "

    ";

    $kq13="SELECT * FROM tabellax ORDER BY ID";
    $dkq13 = mysql_query($kq13);

    $appoggio2 = mysql_num_rows($dkq13);

    for ($i=1;$i<=$appoggio2;$i++)

    if ($i>(($PG-1)*$LUNG_PAG) && ($i<=$PG*$LUNG_PAG)){
    $righeq2 = mysql_fetch_assoc($dkq13);
    $TITOLO=$righeq2['titolo'];
    echo $i.")".$TITOLO."
    ";
    }

    L'errore è sicuramente dentro if ($i>(($PG-1)*$LUNG_PAG) && ($i<=$PG*$LUNG_PAG))....... ma non riesco a trovare dove? praticamente mi punta sempre ai primi 10 elementi del DB.... (in ogni pagina della paginazione)....................qualcuno mi sa dare una mano?

  2. #2
    nella query devi impostare il limit....ti allego uno script che ho fatto io...forse ti può essere utile


    Codice PHP:
                    //prendo i dati tramite get
            
    $chiave $_GET['chiave'];
            
    $criterio $_GET['criterio'];
            
    $pag $_GET['pag'];  //numero della pagina
            
    $per 10//numero elementi per pagina
            
            
    $query "SELECT COUNT(*) AS tot_elementi FROM tabella WHERE $criterio LIKE '%$chiave%'";
            
    $result mysql_query($query);
            
    $row mysql_fetch_array($result);
            
    $tot_elementi $row['tot_elementi'];  //totale elementi della tabella
            
    $pagine ceil($tot_elementi/$per);  //numero delle pagine
            
    $limite $pag*$per-$per;
            
    $elenco_pag 1;   //numero della pagina (collegamento alla pagina)
            
            
    if ($tot_elementi!=0) {
            
                
    $query "SELECT * FROM tabella WHERE $criterio LIKE '%$chiave%' ORDER BY id ASC LIMIT $limite$per";
                
    $result mysql_query($query);
                
                while (
    $row=mysql_fetch_array($result)){
                
                    
    //qui fai gli echo dei valori che ti servono
                            
    }
                            
            }
                
            while (
    $elenco_pag<=$pagine)   //mostra i collegamenti alle pagine
                

                       echo 
    "<a href=\"file.php?pag=".$elenco_pag."\">".$elenco_pag."</a>";
                           
    $elenco_pag++;
                } 
    V.I.S.T.A. --> Virus Inside, Switch To Apple

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.