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

    [PHP & MySQL] Prossimi record

    Ciao a tutti,

    sto cercando di imparare a fare un menu per passare ai prossimi record fino adesso ho fatto questo ma non funziona, sto cercando di capire come fare ma non riesco ad arrivarci!
    c'é qualcuno che é disposto a spiegarmi gentilmente come funziona?

    il mio codice che fara ridere qualcuno é:

    Codice PHP:
    <?php require_once("config.inc.php");?>

    <?php
    $maxRecord 
    2;
    $id $_GET['next'];

    mysql_select_db($database_name$conn);
    $sql "SELECT * FROM tb_clienti LIMIT $id,$maxRecord";
    $query mysql_query($sql) or die (mysql_error());


    mysql_select_db($database_name$conn);
    $sql1 "SELECT * FROM tb_clienti";
    $query1 mysql_query($sql1);
    $totRecord1 mysql_num_rows($query1);
    $page $totRecord1 $maxRecord;
    echo 
    $page."
    "
    .$id;
    ?>

    <!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=iso-8859-1" />
    <title>Untitled Document</title>
    </head>

    <body>


    Menu a numeri</p>
    <table width="200" border="1" cellspacing="0" cellpadding="0">
      <?php do{;?><tr>
        <td><?php echo $result_row['cli_nome'];?></td>
      </tr><?php } while ($result_row mysql_fetch_assoc($query));?>
    </table>

    <table width="500" border="1" cellspacing="0" cellpadding="0">
      <tr>
        <td><?php for($i=1;$i<=$page;$i++) {
        echo 
    "<a href=\"menu.php?page=$i&next=$page\">$i </a>";
        }
        
    ?></td>
      </tr>
    </table>


    </p>


     </p>
    </body>
    </html>
    Grazie Michel
    PHP THE BEST

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    C'è un errore concettuale importante
    Questa istruzione
    Codice PHP:
    echo "<a href=\"menu.php?page=$i&next=$page\">$i </a>"
    Utilizza come valore per "next" la variabile $page
    Ma la variabile $page viene valorizzata qui
    Codice PHP:
    $page $totRecord1 $maxRecord
    Essendo $totRecord1 e $maxRecord due valori identici in ogni pagina (rispettivamente il numero di righe della tabella per $totRecord1 e "2" per $maxRecord), il link che viene messo nella istruzione echo sarà sempre uguale

    Precisamente a che ti serve nell'istruzione page=$i, se poi $_GET["page"] non lo usi da nessuna parte?
    forse quello che vuoi ottenere lo puoi avere cambiando quella istruzione in:
    Codice PHP:
    echo "<a href=\"menu.php?next=$i\">$i </a>"

  3. #3
    Adesso ho fatto cosi é funziona in parte, praticamente mi salta i primi due record e non capisco come evitare questo.

    Codice:

    Codice PHP:

    <?php require_once("config.inc.php");?>

    <?php
    $maxRecord 
    2;
    $id 0;

    if(isset(
    $_GET['next'])){
        
    $id $_GET['next'];
    }

    mysql_select_db($database_name$conn);
    $sql "SELECT * FROM tb_clienti LIMIT $id,$maxRecord";
    $query mysql_query($sql) or die (mysql_error());


    mysql_select_db($database_name$conn);
    $sql1 "SELECT * FROM tb_clienti";
    $query1 mysql_query($sql1);
    $totRecord1 mysql_num_rows($query1);
    $page ceil($totRecord1 $maxRecord);

    ?>

    <!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=iso-8859-1" />
    <title>Untitled Document</title>
    </head>

    <body>


    Menu a numeri</p>
    <table width="200" border="1" cellspacing="0" cellpadding="0">
      <?php do{;?><tr>
        <td><?php echo $result_row['cli_id'];?> <?php echo $result_row['cli_nome'];?></td>
      </tr><?php } while ($result_row mysql_fetch_assoc($query));?>
    </table>

    <table width="500" border="1" cellspacing="0" cellpadding="0">
      <tr>
        <td><?php for($i=1;$i<=$page;$i++) {
        
    $ids $i 2;
        echo 
    "<a href=\"menu2.php?next=$ids\">$i </a>";
        }
        
    ?></td>
      </tr>
    </table>


    </p>


     </p>
    </body>
    </html>

    Abbiate pazienza ci metto un po prima di capire il tutto.

    Grazie Michel
    PHP THE BEST

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Ricorda che parte da zero, quindi quando recuperi la pagina ($_GET["next"]) forse devi ricordarti di diminuire il valore di "1" poichè la prima pagina è a ZERO e non a "1"

    Codice PHP:
    if(isset($_GET['next'])){
        
    $id = (int)$_GET['next']-1;


  5. #5
    Ok ho modificato questo mio errore, pero so cosa devo fare ma non riesco a metterlo in pratica:
    praticamente io dovrei passare per ogni link il valore 2 cioé visualizza i 2 prossimi record, facendo come ho fatto io mi passa solo un record all volta:

    esempio:

    1 michel
    2 antonio

    quando clicco per il prossimo mi fa vedere

    2 antonio
    3 giacomo

    io vorrei fare cosi

    1 michel
    2 antonio

    prossimi record

    3 giacomo
    4 pippo

    Sto cercando di imparare a farlo da solo, potrei usare dreamweaver ma se ci riesco sarei molto felice!!

    Grazie Michel
    PHP THE BEST

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Eh eh... speravo ce la facessi da solo
    $_GET["next"] rappresenta "la pagina" mentre tu lo usi direttamente nella select
    Devi moltiplicare il valore di NEXT (la pagina) per il numero di record presenti nella pagina
    Codice PHP:

    if(isset($_GET['next'])){
        
    $id = ((int)$_GET['next']-1)*$maxRecord;


  7. #7
    Ho trovato una soluzione mia che sembrerebbe funzionare che é questa:

    Codice PHP:
    if(isset($_GET['next'])){
        
    $id = (int)$_GET['next']-2;
    }


    e sotto

    for($i=1;$i<=$page;$i++) {
        
    $ids $i *2;
        echo 
    "<a href=\"menu2.php?next=$ids\">$i </a>";
        } 
    Ora testo la tua!!
    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 © 2024 vBulletin Solutions, Inc. All rights reserved.