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

    [PHP-MySql] Problemi con paginazione

    Ciao a tutti , sono riuscita in parte ad avere il risultato che volevo .
    Infatti modificando :

    Codice PHP:
    $query " SELECT nome FROM $table1 ";
    $result mysql_query($query);
    while(
    $row mysql_fetch_array($result)) 
    con

    Codice PHP:
    ...
    ...
    $rowsPerPage 10;
    $pageNum 1;
    if(isset(
    $_GET['page']))
    {
        
    $pageNum $_GET['page'];
    }
    $offset = ($pageNum 1) * $rowsPerPage;
    $query " SELECT nome FROM $table1 " .
             
    " LIMIT $offset$rowsPerPage";
    $result mysql_query($query) or die('Error, query failed');
    while(
    $row mysql_fetch_array($result))
    {
    $nome $row["nome"];
    echo 
    "<td>$nome</td>";
    ...
    ...

    mi vengono mostrati 10 record di 100 inseriti nel db, ma aggiungendo :

    Codice PHP:
    if ($pageNum 1)
    {
       
    $page  $pageNum 1;
       
    $prev  " <a href=\"$self?page=$page\">[Prev]</a> ";

       
    $first " <a href=\"$self?page=1\">[First Page]</a> ";

    else
    {
       
    $prev  ''
       
    $first ''
    }

    if (
    $pageNum $maxPage)
    {
       
    $page $pageNum 1;
       
    $next " <a href=\"$self?page=$page\">[Next]</a> ";

       
    $last " <a href=\"$self?page=$maxPage\">[Last Page]</a> ";

    else
    {
       
    $next ''
       
    $last ''
    }

    echo 
    $first $prev $nav $next $last
    invece di essere visibili i tasti paginazione mi esce il primo record
    In cosa sbaglio?
    Ci sono soluzioni alternative sempre utilizzando

    Codice PHP:
    while($row mysql_fetch_array($result)) 
    ho gia cercato qualcosa di simile sul forum ma nulla

    Grazie in anticipo a chi mi aiutera' .

    Saluti
    Milena

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    111
    Ciao lo script te l'ho corretto così vedi se ti va bene,anche se non ho capito a che si riferisce la variabile $nav:
    Codice PHP:
      $prev="";
        
    $first="";
         
    $next="";
         
    $last="";
         
    $nav="...";

    if (
    $pageNum 1)
    {
       
    $page  $pageNum 1;
       
    $prev " <a href=\"$self?page=$page\">[Prev]</a> ";

       
    $first" <a href=\"$self?page=1\">[First Page]</a> ";
    }
    else
    {
       
    $prev.= '';
       
    $first.= '';
    }

    if (
    $pageNum $maxPage)
    {
       
    $page $pageNum 1;
       
    $next.= " <a href=\"$self?page=$page\">[Next]</a> ";

       
    $last.= " <a href=\"$self?page=$maxPage\">[Last Page]</a> ";
    }
    else
    {
       
    $next.= '';
       
    $last.= '';
    }

    echo 
    $first $prev $nav $next $last

  3. #3
    Ciao Seven7 e grazie per la risposta .
    Il codice che hai modificato mi genera solo i tre puntini (...) .
    Le variabili come $nav facevano parte dello script originale che stavo cercando di adattare .
    Anche una soluzione diversa mi sarebbe molto utile

    Ciao e grazie

    Milena

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    111
    Allora dovresti postare lo script....

  5. #5
    Sono riuscita a sistemarlo, ecco il codice funzionante :

    Codice PHP:
    $rowsPerPage 10
    $pageNum 1
    if(isset(
    $_GET['page'])) 

        
    $pageNum $_GET['page']; 

    $offset = ($pageNum 1) * $rowsPerPage
    $query " SELECT nome FROM $table1 " 
             
    " LIMIT $offset$rowsPerPage"
    $result mysql_query($query) or die('Error, query failed'); 
    while(
    $row mysql_fetch_array($result)) 

    $nome $row["nome"]; 
    echo 
    "<td>$nome</td>"
    ......  
    // aggiungo i campi con le variabili 
    }
    $query   "SELECT COUNT(nome) AS nome2 FROM $table1";
    $result  mysql_query($query) or die('Error, query failed');
    $row     mysql_fetch_array($resultMYSQL_ASSOC);
    $nome2 $row['nome2'];
    $maxPage ceil($nome2/$rowsPerPage);
    $self $_SERVER['PHP_SELF'];
    $nav  '';
    for(
    $page 1$page <= $maxPage$page++)
    {
       if (
    $page == $pageNum)
       {
          
    $nav .= $page "
       }
       else
       {
          
    $nav .= " <a href=\"$self?page=$page\">$page</a> ";
       } 
    }
    if (
    $pageNum 1)
    {
       
    $page  $pageNum 1;
       
    $prev  " <a href=\"$self?page=$page\">[Prev]</a> ";

       
    $first " <a href=\"$self?page=1\">[First Page]</a> ";

    else
    {
       
    $prev  ''
       
    $first ''
    }

    if (
    $pageNum $maxPage)
    {
       
    $page $pageNum 1;
       
    $next " <a href=\"$self?page=$page\">[Next]</a> ";

       
    $last " <a href=\"$self?page=$maxPage\">[Last Page]</a> ";

    else
    {
       
    $next ''
       
    $last ''
    }
    echo 
    $first $prev $nav $next $last
    Grazie Seven7 per gli interventi

    Saluti
    Milena

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.