Ho due tabelle (MySQL), giocatori e punteggi. In quest’ultima sono archiviati i punteggi annui. Una cosa del tipo:
codice:
|Giocatori|2002|2003|2004
1 | 5 | 6 | 4
Ho creato una classifica (in base ai punteggi dell’ultimo anno) in questo modo:
Codice PHP:
$estrai = mysql_query("SELECT * FROM giocatori AS g, punteggi AS p WHERE g.giocatore_id =p.punteggi ORDER BY p.2004 desc");
while ($row = mysql_fetch_assoc($estrai)) {
$nome = $row['nome'];
$punteggio = $row['2004'];
if ($row['2004'] < $row['2003']) {
$valore = "-";
}
else if ($row['2004'] > $row['2003']) {
$valore = "+";
}
else if ($row['2004'] == $row['2003']) {
$valore = "=";
}
echo "[b]".$nome."[/b] | ".$punteggio." ".$valore."
\n";
}
Ci sono però diversi problemi.
1) Innanzitutto, nella query iniziale specifico direttamente io l’anno sul quale basare la classifica (ORDER BY p.04), quindi se aggiungo la colonna 2005 alla tabella punteggi, devo modificare manualmente il codice.
2) Discorso simile per la variabile “$valore”. Se aggiungo 2005, non devo più confrontare 2004 con 2003, ma 2005 con 2004.
So che devo ricorrere ai cicli e agli array, ma... mi sono perso dopo qualche tentativo.
Consigli?