Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Paginazione PHP

  1. #1

    Paginazione PHP

    Ciao a tutti,
    ho un template a due colonne. Vorrei far visualizzare nella prima colonna gli ultimi 6 record inseriti, mentre nella seconda vorrei visualizzare dal 7 in poi. L'unica difficoltà sta nel fatto che nella seconda colonna c'è anche la paginazione, quindi dovrei mostrare dal 7° risultato e suddividerli in più pagine.
    Si può fare una cosa del genere?
    Ecco il codice che fin ora ho scritto:

    PRIMA QUERY OK
    Codice PHP:
    $Risultato=mysql_query("SELECT * FROM articoli WHERE visible='1' AND id_sezione ='3' ORDER BY data DESC LIMIT 0,6"$db); 
    SECONDA QUERY DA MODIFICARE NON SO COME


    Codice PHP:
    // esecuzione prima query
                
    $Risultato=mysql_query("SELECT * FROM articoli"$db);
                
    $res_count mysql_num_rows($Risultato);
                
    // numero totale di records
                
    $tot_records $res_count;
                
    // risultati per pagina(secondo parametro di LIMIT)
                
    $per_page 12;
                
    // 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;
                
    // esecuzione seconda query con LIMIT                    
    $Risultato=mysql_query("SELECT * FROM articoli WHERE visible='1' AND id_sezione ='3' ORDER BY data DESC LIMIT $primo$per_page"$db); 

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Prova questo. Non sono sicuro di avere capito bene il problema comunque.

    Il file si chiama Essai013.php


    Codice PHP:
    <?php
        
    //------ simola il file del database
        
    for ($i=0;$i<=100;$i++) {
            
    $data[$i] = $i;
        }

        
    $count count($data);

        
    $NbrRecPerPage 10;

        
    $curPage = isset($_GET['page']) ? $_GET['page'] : 0;

        
    $curRec  + ($curPage $NbrRecPerPage);

        
    //------- Simola la lettura dei primi 6 records
        
    ob_start();
        for (
    $i=0;$i<=5;$i++) {
            print 
    "=> articolo $i
    "
    ;
        } 
        
    $col1 ob_get_contents();
        
    ob_end_clean();

        
    //------- Simola la lettura di una pagina
        
    ob_start();
        for (
    $i=$curRec;$i<$curRec+$NbrRecPerPage;$i++) {
            print 
    "=> articolo $i
    "
    ;
        } 
        
    $col2 ob_get_contents();
        
    ob_end_clean();

        
    //------ Simola le pagine
        
    $nbRec $count 6;
        
    $pTot  $nbRec $NbrRecPerPage;

        
    ob_start();
        for (
    $i=0;$i<$pTot;$i++) {
            
    $ppage $i;
            
    $ppage2 $i 1;
            if (
    $curPage == $i) {
             print 
    "$ppage2";
            } else {
             print 
    "[url='Essai013.php?page=$ppage']$ppage2[/url]";
            }
        }
        
    $lnk ob_get_contents();
        
    ob_end_clean();

        
    //print_r($_SERVER);
        
    print $_SERVER['PHP_SELF'];
    ?>



    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

    <html>
    <head>
    <title>Untitled</title>
    </head>
    <body>
        <table style="border: #003399 1px solid;font-family:verdana">
            <tr >
                <td>Ultimi 6</td>
                <td>altri records</td>
            </tr>

            <tr>
                <td style="background-color:green"><?php print $col1 ?></td>
                <td style="background-color:gray"><?php print $col2 ?></td>
            </tr>

            <tr > 
                <td>Pagine</td>
                <td><?php print $lnk ?></td>
            </tr>

        </table>
    </body>
    </html>
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Va benissimo, intendevo proprio questo. Grazie per il prezioso aiuto. Adesso provo ad adattare la logica del tuo codice alla mia pagina.

    Ti faccio sapere.
    Grazie badaze

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.