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

    Una struttura per classifica

    Salve a tutti,
    sto lavorando sul sito di un'associazione sportiva e ho la necessità di compilare una classifica in base ai punti che gli atleti acquisiscono correndo in diverse gare durante l'anno.
    Ho già una tabella contenente l'anagrafica degli atleti chiamata ATLETI caratterizzati da ID, NOME, COGNOME, ecc.
    Volendo ho anche una tabella con l'elenco delle gare di un intero anno chiamata CRITERIA e ogni gara ha un ID e l'ANNO in cui viene svolta.

    Mi serve di creare una combinazione PHP/MySQL che mi crei una tabella di questo genere su una pagina web:



    Come potete vedere la tabella è ordinata in base all'ultima colonna TOTALI e tale ultima colonna è calcolata in base ai punteggi che di volta in volta vengono inseriti per ogni atleta nella gara che ha corso.

    Come posso fare?
    Mensa truppa;
    Oggi abbiamo lingua di manzo bollita
    Che schifo! E' stata in bocca alla bestia! Bleah, no!... Mi dia un uovo...

  2. #2
    Comincerei nel creare la tabella così:

    Codice PHP:
    <?
    $db_host 
    "localhost";
    $db_user "";
    $db_password "";
    $db_name "";

    $db mysql_connect($db_host$db_user$db_password);

    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametridi connessione");

    mysql_select_db($db_name$db)
    or die (
    "Errore nella selezione del database. Verificare i parametri di connessione");

    $query "CREATE TABLE criteria (id INT (5) UNSIGNED not null AUTO_INCREMENT, nome VARCHAR (50) not null , cognome VARCHAR (50) not null , disciplina_1 INT (10) , disciplina_2 INT (10) , disciplina_N INT (10) , totali INT (10) , PRIMARY KEY (id))";

    if (
    mysql_query($query$db))
    echo 
    "L'installazione è stata eseguita correttamente";
    else
    echo 
    "Errore durante l'installazione";

    mysql_close($db);

    ?>

  3. #3
    Originariamente inviato da Haldir
    Comincerei nel creare la tabella così:

    Codice PHP:
    <?
    ...
    $query "CREATE TABLE criteria (id INT (5) UNSIGNED not null AUTO_INCREMENT, nome VARCHAR (50) not null , cognome VARCHAR (50) not null , disciplina_1 INT (10) , disciplina_2 INT (10) , disciplina_N INT (10) , totali INT (10) , PRIMARY KEY (id))";
    ...

    ?>
    Avevo pensato a creare una cosa del genere. Il fatto è che ogni anno dovrei creare una tabella per le gare che verranno corse. Volevo fare una cosa più parametrica usando le tabelle già esistenti.
    Non sarebbe un problema perché mi garantirebbe lavoro, però ammettiamo che voglia usare questo metodo, come faccio a calcolare l'ultimo campo e a ordinare la tabella che ne uscirà sul web in base a questo?
    Mensa truppa;
    Oggi abbiamo lingua di manzo bollita
    Che schifo! E' stata in bocca alla bestia! Bleah, no!... Mi dia un uovo...

  4. #4
    Si può fare:

    Codice PHP:
    <?

    $db_host 
    "localhost";
    $db_user "";
    $db_password "";
    $db_name "";

    $db mysql_connect($db_host$db_user$db_password);

    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametridi connessione");

    mysql_select_db($db_name$db)
    or die (
    "Errore nella selezione del database. Verificare i parametri di connessione");

    $query "SELECT nome,cognome FROM criteria ORDER BY totale DESC";

    $estrai mysql_query($query$db);

    while (
    $atleta mysql_fetch_array($estrai))
    echo 
    "$atleta['nome'] $atleta['cognome'] ha realizzato $atleta['totale'] punti
    "
    ;

    mysql_close($db);

    ?>
    grazie al DESC messo nella query gli la tabella è ordinata con i punteggi più alti in alto

  5. #5
    Haldir, il fatto è che volevo far calcolare dinamicamente il titale e non inserirlo a mano nella tabella.
    In tale situazione, chi deve aggiornare la tabella, di volta in volta deve ricalcolare a mano i totali.

    Vabbè pazienza.
    Mensa truppa;
    Oggi abbiamo lingua di manzo bollita
    Che schifo! E' stata in bocca alla bestia! Bleah, no!... Mi dia un uovo...

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.