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

    Classifica ad impaginazioni

    Salve,
    Ho creato una classifica che ogni 20 classificati, cambia di impaginazione,
    Tutto funziona bene ma quando cambio pagina, la posizione ritorna ad 1 e non continua...

    Per farvi capire meglio guardate questo link :
    http://www.slevenservice.com/Templat...classifica.php

    questo è lo script



    Codice PHP:
    <html>
    <head>
    <style>
    body {
    color: white;
    }
    table {
    width: 400px;
    background: red;
    color: white;
    font-size: 16px;
    border: 2px solid black;
    }
    </style>
    <link rel="shortcut icon" href="mt2.ico" type="image/x-icon" />
    <?php

    $pg 
    21// PG X OGNI PAGINA
    $pagina addslashes(trim($_GET['pagina']));
    if (!
    $pagina){$pagina 1;}

    require (
    "conn.php") ;
    mysql_select_db('player');

    $query mysql_query("SELECT level FROM player;");
    $lv_tot mysql_num_rows($query); // LIVELLI TOTALI

    $pagine_totali ceil($lv_tot $pg);

    $primo_pg = ($pagina 1) * $pg;

    $query2 mysql_query("SELECT * FROM player WHERE level<'254' AND name NOT LIKE '[%' ORDER BY level DESC LIMIT $primo_pg$pg;");
    $num mysql_num_rows($query2);

    ?>
    <title>Classifica By WarXWar</title>
    </head>
    <body>
    <center>
    <table border="2">
    <thead>
    <tr>
    <th width="10%" align="center">Numero</th>
    <th width="10%" align="center">Nome PG</th>
    <th width="10%" align="center">Livello</th>
    <th width="10%" align="center">Exp</th>
    </tr>
    </thead>
    <tbody>
    <?php
    $i
    =1;

    if (
    $num != 0) {

    while (
    $i $num) {

    $array2 mysql_fetch_array($query2);
    $nome $array2['name'];
    $level $array2['level'];
    $exp $array2['exp'];

    ?>
    <tr>
    <td align='center'><?php echo $i?></td>
    <td align='center'><?php echo $nome?></td>
    <td align='center'><?php echo $level?></td>
    <td align='center'><?php echo $exp?></td>
    </tr>
    <?php
    $i
    ++;
    }
    ?>
    </tbody>
    </table>
    <?php
    }else{ echo "Attualmente La Classifica è Vuota!"; }

    if (
    $pagine_totali 1){

    if (
    $pagina 1){ ?>
    [url="classifica.php?pagina=<?php echo $pagina-1?>"]Indietro[/url]
    <?php
    }

    if (
    $pagine_totali $pagina){
    ?>
    [url="classifica.php?pagina=<?php echo $pagina+1?>"]Avanti[/url]
    <?php
    }
    }

    mysql_close();
    ?>
    </center>
    </body>
    </html>
    Sapete aiutarmi? Grazie.
    ----------------WorldHosting

  2. #2
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    a me funziona quel link

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  3. #3
    Per la numerazione non puoi utilizzare la variabile $i che riparte sempre da 1. Prova a dichiarare un'altra variabile fuori dal ciclo while:

    Codice PHP:
    $position = $pg * $pagina;

    while (...) {
    ...
    <tr>
    <td align='center'><?php echo $position++; ?></td>
    <td align='center'><?php echo $nome?></td>
    <td align='center'><?php echo $level?></td>
    <td align='center'><?php echo $exp?></td>
    </tr> 
    ...
    }
    P.S.
    Non l'ho testato.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #4
    Originariamente inviato da oronze
    a me funziona quel link
    Non hai capito il problema

    Quando giri pagina invece di andare a 21 , 22 etc.... ritorna ad 1 XD
    ----------------WorldHosting

  5. #5
    Originariamente inviato da satifal
    Per la numerazione non puoi utilizzare la variabile $i che riparte sempre da 1. Prova a dichiarare un'altra variabile fuori dal ciclo while:

    Codice PHP:
    $position = $pg * $pagina;

    while (...) {
    ...
    <tr>
    <td align='center'><?php echo $position++; ?></td>
    <td align='center'><?php echo $nome?></td>
    <td align='center'><?php echo $level?></td>
    <td align='center'><?php echo $exp?></td>
    </tr> 
    ...
    }
    P.S.
    Non l'ho testato.
    Sarebbe un'ammazzata.

    Mettiamo caso che ho 10.000 classificati, dovrei fare 10.000 cicli ? O.O
    ----------------WorldHosting

  6. #6
    Originariamente inviato da Sl3ven
    Sarebbe un'ammazzata.

    Mettiamo caso che ho 10.000 classificati, dovrei fare 10.000 cicli ? O.O
    In che senso scusa?!?!

    Il codice che ti ho postato ti permette semplicemente di non ripartire da 1 nella classifica, ma da 21 nella seconda pagina ecc.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    Originariamente inviato da Sl3ven
    Sarebbe un'ammazzata.

    Mettiamo caso che ho 10.000 classificati, dovrei fare 10.000 cicli ? O.O
    nuuuuuuu ora ho capito...
    scusa....fai che $i = ($pg*$pagina)-($pg-1);
    e la condizione del while
    codice:
    while($i< $i + $pg){
    
    }
    dovrebbe andare....

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  8. #8
    Originariamente inviato da oronze
    nuuuuuuu ora ho capito...
    scusa....fai che $i = ($pg*$pagina)-($pg-1);
    e la condizione del while
    codice:
    while($i< $i + $pg){
    
    }
    dovrebbe andare....
    Mi posti lo script completo con la tua modifica?
    Ho provato a modificarlo io e mi è arrivto a 10.000 e continuava a caricare xD
    ----------------WorldHosting

  9. #9
    Ma l'hai almeno capita la soluzione che ti ho proposto io?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  10. #10
    Originariamente inviato da satifal
    Ma l'hai almeno capita la soluzione che ti ho proposto io?
    Si funziona ma nella 1° pagina escono altri 20 classificati però solo le posizioni, senza nome ed altro.
    ----------------WorldHosting

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.