Excalibur
2008-03-26 21:11:31 UTC
Salve a tutti,
gestisco il sito di una società di basket amatoriale
(www.rondinellabasket.com) e sono un autodidatta in quanto a PHP.
Sono riuscito a trasformare il sito da HTML puro (con tutto quel che ne
conseguiva in termini di aggiornamento) a PHP con supporto di un DB MySQL,
scrivendo tutte le routine necessarie all'inserimento e alla gestione deidati
delle varie squadre della società.
Mi sono scontrato da qualche giorno con un problema: la Classifica Avulsa.
Questo termine indica l'ordine in cui devono essere messe le squadre a pari
punti e viene determinato in base agli scontri diretti (2 punti per ogni
scontro vinto) e ordinare le squadre (a pari punti nella classifica generale)
in base ai punti della classifica avulsa.
In caso di ulteriore parità si devono prendere i canestri fatti e subiti
(sempre negli scontri diretti) e calcolare il Quoziente Canestri con la
formula qc = c.fatti / c.subiti e ordinare le squadre (a pari punti nella
classifica avulsa) in base al Q.C.
Tramite una query SQL attualmente ottengo una classifica ordinata in baseai
punti (DESC), partite giocate (ASC) ,differenza canestri generale (DESC) che
però non risponde ai requisiti appena indicati.
Il problema in questione sorge dovendo calcolare questa benedetta classifica
avulsa, e non riesco (date le mie non eccelse conoscenze di programmazione) a
venirne a capo.
La classifica generata risiede in un array così composto (il numero di squadre
non è fisso):
- ID squadra
- Nome squadra
- Punti
- Partite giocate
- Vinte
- Perse
- Canestri fatti
- Canestri subiti
È possibile ovviamente leggere il DB per estrarre i dati relativi agli scontri
diretti tra le squadre a pari punti, leggendo i canestri (0 a 0 se non ancora
disputata), ma non so come organizzare lo script, visto che non conosco a
priori QUANTE squadre sono a pari punti (saprei come farlo se le squadre a
pari punti fossero solo 2).
Qualche anima pia ha già qualcosa di utile a risolvere il mio problema o
indicarmi come realizzare lo script tenendo conto delle indicazioni date?
Grazie per qualsiasi aiuto
Excalibur
gestisco il sito di una società di basket amatoriale
(www.rondinellabasket.com) e sono un autodidatta in quanto a PHP.
Sono riuscito a trasformare il sito da HTML puro (con tutto quel che ne
conseguiva in termini di aggiornamento) a PHP con supporto di un DB MySQL,
scrivendo tutte le routine necessarie all'inserimento e alla gestione deidati
delle varie squadre della società.
Mi sono scontrato da qualche giorno con un problema: la Classifica Avulsa.
Questo termine indica l'ordine in cui devono essere messe le squadre a pari
punti e viene determinato in base agli scontri diretti (2 punti per ogni
scontro vinto) e ordinare le squadre (a pari punti nella classifica generale)
in base ai punti della classifica avulsa.
In caso di ulteriore parità si devono prendere i canestri fatti e subiti
(sempre negli scontri diretti) e calcolare il Quoziente Canestri con la
formula qc = c.fatti / c.subiti e ordinare le squadre (a pari punti nella
classifica avulsa) in base al Q.C.
Tramite una query SQL attualmente ottengo una classifica ordinata in baseai
punti (DESC), partite giocate (ASC) ,differenza canestri generale (DESC) che
però non risponde ai requisiti appena indicati.
Il problema in questione sorge dovendo calcolare questa benedetta classifica
avulsa, e non riesco (date le mie non eccelse conoscenze di programmazione) a
venirne a capo.
La classifica generata risiede in un array così composto (il numero di squadre
non è fisso):
- ID squadra
- Nome squadra
- Punti
- Partite giocate
- Vinte
- Perse
- Canestri fatti
- Canestri subiti
È possibile ovviamente leggere il DB per estrarre i dati relativi agli scontri
diretti tra le squadre a pari punti, leggendo i canestri (0 a 0 se non ancora
disputata), ma non so come organizzare lo script, visto che non conosco a
priori QUANTE squadre sono a pari punti (saprei come farlo se le squadre a
pari punti fossero solo 2).
Qualche anima pia ha già qualcosa di utile a risolvere il mio problema o
indicarmi come realizzare lo script tenendo conto delle indicazioni date?
Grazie per qualsiasi aiuto
Excalibur