Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    [PHP & MySQL] Paginazione

    Ciao a tutti,

    io vorrei creare una paginazione tipo quella di questo forum ma non ci riesco, sono riuscito a fare in modo che mi stampi tutte le pagine, il problema sorge che avendo tanti record ci sono troppe pagine e non sta bene, come posso modificare il m io codice per ottenere una paginazione tipo questo forum?


    Codice:

    Codice PHP:
    for($i=$i <= $pagine $i++)
              {
                      if(
    $tot 10)
                    {
                    } 
                    else 
                    {
                    
                      
    $link $_SERVER['PHP_SELF']."?page=".$_GET['page']."&pagenum=".$i;
                      echo 
    " [url='$link']$i[/url]";
                    
                      }
             
              } 
    Grazie Michel
    PHP THE BEST

  2. #2


    nn ho capito molto bene il risultato che vuoi far vedere

  3. #3
    vorrei una paginazione uguale a questa che c'é sul forum!
    PHP THE BEST

  4. #4
    ma stai dicendo di visuaizzare tipo 20 righe per pagine? e far vedere sotto

    <<indietro 1 - 2 - 3 - 4 ... - i avanti>>

  5. #5
    io ho una pagina con circa 20000 foto e vorrei farne vedere 50 per pagina e fin qui tutto bene.

    il problema nasce nella paginazione se faccio 20000 / 50 sono 400 pagine e stampare 400 pagine con i link non e il massimo!

    Hai capito cosa intendo?
    PHP THE BEST

  6. #6
    si ho capito

    quindi al mio parere o fai una suddivisione di foto per categorie/album quindi tipo foto di paesaggi - persone - animali...

    o eseguire una impaginazione del genere...

    <<indietro 1 - 2 - 3 - 4 - 5 avanti>>

    se vai a pag 4 trovi

    <<indietro 2 - 3 - 4 - 5 - 6 avanti>>

    se vai a pag 8 trovi

    <<indietro 6 - 7 - 8 - 9 - 10 avanti>>


    cmq prova questo articolo
    almeno fai tu alcune modifiche e il gioco è fatto

  7. #7
    si giusto propio cosi ma non so buttare giu il codice mi dai una mano con un esempio di codice poi provo ad adattarlo al mioo caso!
    PHP THE BEST

  8. #8
    prova l'artico :quote: che ti ho mostrato su... guarda io lo uso sempre quel tipo di impaginazione... tu inizia a implementarlo nel tuo sito dopo di che poi facciamo una modifica nella visualizzazione dei singoli numeri

  9. #9
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Alla fine ti ho scritto un pezzo di codice, anche se in genere non è il mio stile per dare una mano
    codice:
    <?php
    
    $pagine_totali            = 10; // queste devi ricavartele
    $pagina_attuale           = 1; // caso di default
    $pagine_da_mostrare       = 5; // ti consiglio di usare un numero dispari in modo da avere un numero pari di pagine
                                   // quella attuale
    $pagine_prima_e_dopo      = floor($pagine_da_mostrare/2);
    
    $prima_pagina             = 0;
    $ultima_pagina            = 0;
    
    
    
    
    
    if(isset($_GET['pagina']) && is_numeric($_GET['pagina']) && $_GET['pagina'] > 0 && $_GET['pagina'] <= $pagine_totali) {
      $pagina_attuale = $_GET['pagina'];
    }
    
    if($pagina_attuale <= $pagine_prima_e_dopo) {
      $prima_pagina = 1;
      $ultima_pagina = $prima_pagina + ($pagine_da_mostrare-1);
    } elseif($pagina_attuale > ($pagine_totali-$pagine_prima_e_dopo)) {
      $ultima_pagina = $pagine_totali;
      $prima_pagina = $pagine_totali-($pagine_da_mostrare-1);
    } else {
      $prima_pagina = $pagina_attuale - $pagine_prima_e_dopo;
      $ultima_pagina = $prima_pagina+($pagine_da_mostrare-1);
    }
    for($i = $prima_pagina; $i <= ($ultima_pagina); $i++) {
      echo $i;
      echo '
    ';
    }
    ?>
    Provalo e vedi se capisci.

    ciao

  10. #10
    ho provato cosi ma se clicco sulle pagine non cambia i record nel db! Dove sbaglio?

    Codice PHP:
    <?php 

    include"./config.inc.php";
    $sql "SELECT * FROM tbl_image";
    $query mysql_query($sql);
    $pagine_tot mysql_num_rows($query);
    $limit 5;
    $pgto ceil($pagine_tot/$limit);

    $pagine_totali            $pgto// queste devi ricavartele
    $pagina_attuale           1// caso di default
    $pagine_da_mostrare       5// ti consiglio di usare un numero dispari in modo da avere un numero pari di pagine
                                   // quella attuale
    $pagine_prima_e_dopo      floor($pagine_da_mostrare/2);

    $prima_pagina             0;
    $ultima_pagina            0;


    $start = ($prima_pagina $limit);

    $sql_list_image "SELECT * FROM tbl_image, tbl_folder WHERE tbl_folder.fold_id = tbl_image.fold_id LIMIT $start , $limit";
    $query_list_image mysql_query($sql_list_image) or die (mysql_error());
    $rows mysql_num_rows($query_list_image) or die (mysql_error());




    if(isset(
    $_GET['pagina']) && is_numeric($_GET['pagina']) && $_GET['pagina'] > && $_GET['pagina'] <= $pagine_totali) {
      
    $pagina_attuale $_GET['pagina'];
    }

    if(
    $pagina_attuale <= $pagine_prima_e_dopo) {
      
    $prima_pagina 1;
      
    $ultima_pagina $prima_pagina + ($pagine_da_mostrare-1);
    } elseif(
    $pagina_attuale > ($pagine_totali-$pagine_prima_e_dopo)) {
      
    $ultima_pagina $pagine_totali;
      
    $prima_pagina $pagine_totali-($pagine_da_mostrare-1);
    } else {
      
    $prima_pagina $pagina_attuale $pagine_prima_e_dopo;
      
    $ultima_pagina $prima_pagina+($pagine_da_mostrare-1);
    }
    for(
    $i $prima_pagina$i <= ($ultima_pagina); $i++) {
        
    $link $_SERVER['PHP_SELF']."?pagina=$i";
      echo 
    "[url='$link'] $i [/url]";
    }
    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head>

    <body>
    <?php while($data mysql_fetch_array($query_list_image)) {
        echo 
    $data['img_name']."
    "
    ;
        }
        
    ?>
    </body>
    </html>
    PHP THE BEST

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.