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

    definire posizione record

    ciao a tutti,

    mi sto xdendo nel voler definire in ke posizione un giocatore si trova in classifica. Estraggo i dati e:
    $game = "pallavolo";
    $sql = "select * from classifica where game= '$game'";
    $query = mysql_query($sql, $connessione);
    $i = 0;
    while ($row = mysql_fetch_array($query))
    {
    $i++;
    echo $i.') '.$row['cognome'].' '.$row['nome'].' '.$row['game']."
    ";
    }

    come output ottengo:
    1) mario rossi pallavolo
    2) luigi verdi pallavolo
    3) enrico neri pallavolo

    se uno di questi 3 giocatori si logga come faccio a dirgli "ti trovi in 2° posizione".

    mi sono studiato questo:

    http://forum.html.it/forum/showthrea...sizione+record

    ma non ne vengo fuori.

    Grazie a tutti quelli mi danno un aiuto.

    dupn01

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Non è che sia molto chiaro il tuo post ma se hai un punteggio e vuoi sapere la posizione in classifica questo link fa al caso tuo.

    http://arjen-lentz.livejournal.com/55083.html

  3. #3

    Re: definire posizione record

    usa lo stesso codice:
    Codice PHP:
    $game "pallavolo";
    $sql "select * from classifica where game= '$game'";
    $query mysql_query($sql$connessione);
    $i 0;
    while (
    $row mysql_fetch_array($query))
    {
      
    $i++;
      if(
    $row['nome']==$_SESSION['nome'] && $row['cognome']==$_SESSION['cognome'])
      {
        echo 
    "ti trovi in $i° posizione";
      }

    ho usato le variabili di sessione come esempio, poi non so come gestisci i dati degli utenti una volta loggati, però il concetto è quello.

    Edit:
    Nicola, possibile che sei sempre un passo avanti a me???
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923

    Re: Re: definire posizione record

    Originariamente inviato da Lathspell
    Edit:
    Nicola, possibile che sei sempre un passo avanti a me???

    Nel link ci sono delle soluzioni interessanti che permettono di risolvere direttamente con l'sql senza scomodare il php.

  5. #5
    Si ma la classifica su cosa si basa? Tu Estrapoli semplicemente dei record senza un ordine definito, nella tabella non c'è un campo punti o altro?

  6. #6
    thanks a tutti voi x le dritte

    cerkerò di essere il + semplice e conciso.

    la mia tabella classifica:
    id | cognome | nome | game | punteggio
    1 | mario | rossi | pallavolo | 15
    2 | luisa | rosa | tennis | 19
    3 | luigi | verdi | pallavolo | 11
    4 | enrico | neri | pallavolo | 21

    utilizzando il codice inserito mi viene (aggiungendo order by punteggio):

    1) enrico neri pallavolo
    2) mario rossi pallavolo
    3) luigi verdi pallavolo

    ora se io sono mario rossi e mi loggo mi dice ke a pallavolo mi trovo in 2° posizione.

    Anke se stanotte ho pensato di studiare qualcosa ke mi xmetta di stampare la lista ma colorare in rosso l'utente ke si logga. Ne avete mai pensato una cosa così?

    x Lathspell: interessante la sessione all'interno del while, non ci avevo pensato. I miei utenti ne tengo traccia con le sessioni. (ora provo)

    Thanks to: nicola75ss x il link

  7. #7
    Anke se stanotte ho pensato di studiare qualcosa ke mi xmetta di stampare la lista ma colorare in rosso l'utente ke si logga. Ne avete mai pensato una cosa così?
    Devi usare sempre il controllo sulla sessione all'interno del ciclo

    Codice PHP:

    echo "<table><tr>";
    echo 
    "<th>Pos.</th><th>Nome</th><th>Punti</th></tr>";

    $q mysql_query("SELECT.....ORDER BY punteggio");

    $i 1;

    while(
    $row mysql_fetch_assoc($q)){

       
    $evidenzia = ($row['id'] == $_SESSION['uid']) ? " class=\"evidenziato\"" "";

       echo 
    "<tr{$evidenzia}><td>{$i}°</td><td>{$row['nome']}</td><td>{$row['punteggio']}</td></tr>";
       
    $i++;
    }

    echo 
    "</table>"

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.