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

    [PHP & MySQL] Problema menu navigazione

    Ciao ragazzi,

    ho un problema che non riesco propio a risolvere, ci sto sbattendo la testa da un paio di giorni ma senza risultato positivo.

    Praticamente ho per esempio 50 record nel db, io volglio farne vedere solo 10 alla volta ma non capisco come fare.

    Fino ad ora ho fatto questo, preso da un tutorial e ho cercato di adattarlo alle mie esigenze.

    non mi fa vedere il menu delle pagine 1-2-3 ecc.

    per vedere potete andare qui

    Codice PHP:
    <?php 
    include"config.inc.php";

    $sql_list_user "SELECT * FROM tbl_login ORDER BY lg_id ASC LIMIT " $_GET['pag'].","5;
    $query_list_user mysql_query($sql_list_user) or die (mysql_error());

    // Numero di utenti

    $numeroRighe mysql_num_rows($query_list_user);


    // Imposto il massimo di righe per pagina

    $limitePagina "5";

    // Calcolo il numero di pagine

    $numeroPagine ceil($numeroRighe $limitePagina);

    // Pagina Corrente

    $paginaCorrente "0";

    if(isset(
    $_GET['pag']) && is_numeric($_GET['pag']) && $_GET['pag'] > && $_GET['pag'] < $numeroPagine){
    $paginaCorrente $_GET['pag'];
    }

    // Inizio numero

    $inizioPagina $paginaCorrente $limitePagina;




    //$sql = "SELECT * FROM tbl_login ORDER BY tbl_login.lg_id LIMIT '".$inizioPagina."','".$limitePagina."'";

    echo $sql_list_user."
    "
    .$numeroRighe;
    ?>
    <!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>
    <table width="450" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td width="25"><span class="TestoIndicativo">Id</span></td>
        <td width="100"><span class="TestoIndicativo">User
          
        </span></td>
        <td width="180"><span class="TestoIndicativo">email</span></td>
        <td width="80"><span class="TestoIndicativo">Gruop </span></td>
        <td></td>
      </tr>
    </table>


    <table width="450" border="0" align="center" cellpadding="0" cellspacing="0">
      <?php while($result_list_user mysql_fetch_assoc($query_list_user)){ ?>
      <tr>
        <td width="25" height="25" valign="middle"><span class="TestoIndicativo"><?php echo $result_list_user['lg_id'];?></span></td>
        <td width="100" height="25" valign="middle"><span class="TestoIndicativo"><?php echo $result_list_user['lg_usr'];?></span></td>
        <td width="180" height="25" valign="middle"><span class="TestoIndicativo"><?php echo $result_list_user['lg_email'];?></span></td>
        <td width="80" height="25" valign="middle"><span class="TestoIndicativo"><?php echo $result_list_user['lg_group'];?></span></td>
        <td height="25" valign="middle">[url="#"][/url]</td>
      </tr>
      <?php };?>
    </table>


    <table width="450" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td>
        <?php
    for($a 0$a $numeroPagine$a++){
        if(
    $paginaCorrente == $a){ 
            echo(
    $a+1);
        }else{
            echo 
    '[url="'.$_SERVER['PHP_SELF'].'?pag='.$a.'"]'.($a+1).'[/url]';
        }
        if(
    $a $numeroPagine 1){
            echo 
    '-';
        }
    }
    ?>
        </td>
      </tr>
    </table>


    </body>
    </html>
    PHP THE BEST

  2. #2
    Chiedo qualcosa di impossibile ragazzi?
    PHP THE BEST

  3. #3
    Grazie lo stesso ho risolto dopo vari tentativi così preso in rete e adattato:

    Codice PHP:
    // imposto quanti risultati x pagina
    $rowsPerPage 10;
    // impostiamo di default di mostrare x prima la prima pagina
    $pageNum 1

    // se $_GET['page'] è definito, lo si usa come page namber
    if(isset($_GET['pagenum']))
    {
        
    $pageNum $_GET['pagenum'];


    // conto l' offset
    $offset = ($pageNum 1) * $rowsPerPage

    $query1 "SELECT * FROM tbl_login ORDER BY tbl_login.".$_GET['tbl']." ".$_GET['sort']." LIMIT " $offset "," $rowsPerPage;
    $result1 mysql_query($query1) or die('Error, query failed1');


    // quanti valori abbiamo nel DB
    $query   "SELECT COUNT(lg_id) AS numrows FROM tbl_login";
    $result  mysql_query($query) or die('Error, query failed');
    $row     mysql_fetch_array($result);
    $numrows $row['numrows']; 

    // quante pagine sono?
    $maxPage ceil($numrows/$rowsPerPage); 

    // crea link per accedere ad ogni pagina
    $self $_SERVER['PHP_SELF']."?uid=" $_GET['uid'] . "&ug=" $_GET['ug'] . "&page=listuser&tbl=lg_usr&sort=ASC";
    $nav  '';
    for(
    $page 1$page <= $maxPage$page++)
    {
       if (
    $page == $pageNum)
       {
          
    $nav .= $page "
       }
       else
       {
          
    $nav .= " <a href=\"$self&pagenum=$page\">$page</a> ";
       } 


    altro .....




        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  ''// se siamo nella 1° pag non mostriamo Prev
       
    $first ''// e neanche il link alla 1° pag


    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 ''// siamo nell' ultima pag, nn mostriamo Next
       
    $last ''// siamo nell' ultima pag, nn mostriamo il link Last 


    // mostra i links di navigazione
    //echo $first . $prev . $nav . $next . $last; 
        
    echo "<span class='TestoIndicativo'>$nav</span>";
        
    ?> 
    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.