ciao a tutti! ho uno script che calcola la classifica di un campionato di pallacanestro...
in pratica ho due tabelle nel mio database
1. calendario_u17 che è la tabella dove c'è il calendario delle partite nella quale aggiorno il risultato delle partite col succedersi del campionato.
Campi: id, id_giornata, squadra_home, squadra_visitor, point_home, point_visitor, data, ora
2. squadre_u17 che è la tabella da dove prelevo il nome delle squadre per creare il calendario.
Campi: id, nome, citta, casacca,foto, info
Ora ho provato a riadattare questo script che ho trovato in rete e che originariamente era per un campionato di calcio ad un campionato di basket. Il codice è piu o meno lo stesso(ho modificato solo il nome delle variabili (es: gol_fatti diventa canestri_fatti)!
questo il codice:
Codice PHP:
<?php
include("includes/config.inc.php");
$giocate="0";
$vittorie="0";
$pareggi="0";
$sconfitte="0";
$canestri_fatti="0";
$canestri_subiti="0";
$canestri_subiti_casa="0";
$canestri_subiti_trasferta="0";
$canestri_fatti_casa="0";
$canestri_fatti_trasferta="0";
$punti="0";
$differenza_canestri="0";
$nome_squadra=" ";
$id_squadra=0;
define("_PUNTI",0);
define("_DIFF_CAN",1);
define("_VINTE",2);
define("_NULLE",3);
define("_PERSE",4);
define("_CF",5);
define("_CS",6);
define("_CFC",7);
define("_CSC",8);
define("_CFT",9);
define("_CST",10);
define("_GIOCATE",11);
define("_NOME_SQUADRA",12);
define("_ID_SQUADRA",13);
//Connessione al db mysql
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
else {
}
//Selezione del database
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php"); //connessione al database
$query_squadre = "select id, nome from squadre_u17 order by id";
$cursore_squadre = mysql_query($query_squadre) or die(mysql_error());
$tot_squadre = mysql_num_rows($cursore_squadre);
//ciclo while per le squadre
while ($riga_squadra = mysql_fetch_row($cursore_squadre)){
$id_squadra = $riga_squadra[0];
$nome_squadra = $riga_squadra[1];
//eseguo la query per le vittorie
$query_vittorie = "select * from calendario_u17 where ((squadra_home = " .
$id_squadra . " and point_home > point_visitor) or (squadra_visitor = " .
$id_squadra . " and point_visitor > point_home))";
$cursore_vittorie = mysql_query($query_vittorie)
or die(mysql_error());
$vittorie = mysql_num_rows($cursore_vittorie);
//eseguo la query per i pareggi
$query_pareggi ="select * from calendario_u17 where ((squadra_home = " .
$id_squadra . " and point_home = point_visitor) or (squadra_visitor = " .
$id_squadra . " and point_visitor = point_home))";
$cursore_pareggi = mysql_query($query_pareggi)
or die(mysql_error());
$pareggi = mysql_num_rows($cursore_pareggi);
//eseguo la query per le sconfitte
$query_sconfitte = "select * from calendario_u17 where ((squadra_home = " .
$id_squadra . " and point_home < point_visitor) or (squadra_visitor = " .
$id_squadra . " and point_visitor < point_home))";
$cursore_sconfitte = mysql_query($query_sconfitte)
or die(mysql_error());
$sconfitte = mysql_num_rows($cursore_sconfitte);
$query_canestri_fatti_casa = "select sum(point_home) from calendario_u17 where squadra_home = " .
$id_squadra . "";
$cursore_canestri_fatti_casa = mysql_query($query_canestri_fatti_casa)
or die(mysql_error());
if ($riga_canestri_fatti_casa = mysql_fetch_row($cursore_canestri_fatti_casa)){
$canestri_fatti_casa = (int) $riga_canestri_fatti_casa[0];
}
$query_canestri_fatti_trasferta = "select sum(point_visitor) from calendario_u17 where " .
"squadra_visitor = " . $id_squadra . "";
$cursore_canestri_fatti_trasferta = mysql_query($query_canestri_fatti_trasferta)
or die(mysql_error());
if ($riga_canestri_fatti_trasferta = mysql_fetch_row($cursore_canestri_fatti_trasferta)){
$canestri_fatti_trasferta = (int) $riga_canestri_fatti_trasferta[0];
}
$query_canestri_subiti_casa = "select sum(point_visitor) from calendario_u17 where squadra_home = " .
$id_squadra . "";
$cursore_canestri_subiti_casa = mysql_query($query_canestri_subiti_casa)
or die(mysql_error());
if ($riga_canestri_subiti_casa = mysql_fetch_row($cursore_canestri_subiti_casa)){
$canestri_subiti_casa = (int) $riga_canestri_subiti_casa[0];
}
$query_canestri_subiti_trasferta = "select sum(point_home) from calendario_u17 where " .
"squadra_visitor = " . $id_squadra . "";
$cursore_canestri_subiti_trasferta = mysql_query($query_canestri_subiti_trasferta)
or die(mysql_error());
if ($riga_canestri_subiti_trasferta = mysql_fetch_row($cursore_canestri_subiti_trasferta)){
$canestri_subiti_trasferta = (int) $riga_canestri_subiti_trasferta[0];
}
$punti = 3 * $vittorie + $pareggi;
$differenza_canestri = ($canestri_fatti_casa + $canestri_fatti_trasferta) -
($canestri_subiti_casa + $canestri_subiti_trasferta);
$canestri_fatti = $canestri_fatti_casa + $canestri_fatti_trasferta;
$canestri_subiti = $canestri_subiti_casa + $canestri_subiti_trasferta;
$id_squadra--;
// **********************************************************************************
// ****************************** ATTENZIONE*****************************************
// L'ORDINE DI RIEMPIMENTO DELL'ARRAY CORRISPONDE AL SUO ORDINAMENTO, PERTANTO NON
// CAMBIARE L'ORDINE DELLE SEGUENTI RIGHE!!!
$tabellone[$id_squadra][_PUNTI] = $punti;
$tabellone[$id_squadra][_DIFF_CAN] = $differenza_canestri;
$tabellone[$id_squadra][_GIOCATE] = $vittorie + $pareggi + $sconfitte;
$tabellone[$id_squadra][_VINTE] = $vittorie;
$tabellone[$id_squadra][_CF] = $canestri_fatti;
$tabellone[$id_squadra][_NOME_SQUADRA] = $nome_squadra;
$tabellone[$id_squadra][_CFT] = $canestri_fatti_trasferta;
$tabellone[$id_squadra][_CFC] = $canestri_fatti_casa;
$tabellone[$id_squadra][_NULLE] = $pareggi;
$tabellone[$id_squadra][_CS] = $canestri_subiti;
$tabellone[$id_squadra][_PERSE] = $sconfitte;
$tabellone[$id_squadra][_CSC] = $canestri_subiti_casa;
$tabellone[$id_squadra][_CST] = $canestri_subiti_trasferta;
$tabellone[$id_squadra][_ID_SQUADRA] = $id_squadra + 1;
// **********************************************************************************
$id_squadra++;
}
echo "<table border=2 width=100%>";
echo "<tr bgcolor=brown>[b]<td align=center><font color=white>[b]Squadra[/b]</font></td>";
echo "<td align=center><font color=white>[b]Giocate[/b]</font></td>";
echo "<td align=center><font color=white>[b]Vinte[/b]</font></td>";
echo "<td align=center><font color=white>[b]Nulle[/b]</font></td>";
echo "<td align=center><font color=white>[b]Perse[/b]</font></td>";
echo "<td align=center><font color=white>[b]Canestri fatti[/b]</font></td>";
echo "<td align=center><font color=white>[b]Canestri subiti[/b]</font></td>";
echo "<td align=center><font color=white>[b]Canestri fatti in casa[/b]</font></td>";
echo "<td align=center><font color=white>[b]Canestri subiti in casa[/b]</font></td>";
echo "<td align=center><font color=white>[b]Canestri fatti fuori casa[/b]</font></td>";
echo "<td align=center><font color=white>[b]Canestri subiti fuori casa[/b]</font></td>";
echo "<td align=center><font color=white>[b]Diff. canestri[/b]</font></td>";
echo "<td align=center><font color=white>[b]Punti[/b]</font></td>[/b]</tr>";
reset($tabellone);
array_multisort($tabellone,SORT_DESC,SORT_REGULAR);
for ($id_squadra =0;$id_squadra<$tot_squadre;$id_squadra++){
echo "<tr bgcolor=white><td class='black' align=center>[b]" . $tabellone[$id_squadra][_NOME_SQUADRA] . "[/b]</td>";
echo "<td class='black' align=center>[b]" . $tabellone[$id_squadra][_GIOCATE] . "[/b]</td>";
echo "<td class='black' align=center>[b]" . $tabellone[$id_squadra][_VINTE] . "[/b]</td>";
echo "<td class='black' align=center>[b]" . $tabellone[$id_squadra][_NULLE] . "[/b]</td>";
echo "<td class='black' align=center>[b]" . $tabellone[$id_squadra][_PERSE] . "[/b]</td>";
echo "<td class='black' align=center>[b]" . $tabellone[$id_squadra][_CF] . "[/b]</td>";
echo "<td class='black' align=center>[b]" . $tabellone[$id_squadra][_CS] . "[/b]</td>";
echo "<td class='black' align=center>[b]" . $tabellone[$id_squadra][_CFC] . "[/b]</td>";
echo "<td class='black' align=center>[b]" . $tabellone[$id_squadra][_CSC] . "[/b]</td>";
echo "<td class='black' align=center>[b]" . $tabellone[$id_squadra][_CFT] . "[/b]</td>";
echo "<td class='black' align=center>[b]" . $tabellone[$id_squadra][_CST] . "[/b]</td>";
echo "<td class='black' align=center>[b]" . $tabellone[$id_squadra][_DIFF_CAN] . "[/b]</td>";
echo "<td class='black' align=center>[b]" . $tabellone[$id_squadra][_PUNTI] . "[/b]</td></tr>";
}
echo "</table>";
?>
Il problema è che non dà alcun tipo di errore e nonostante ci siano le giornate di calendario con i relativi risultati nella tabella calendario_u17 in ogni colonna della classifica viene stampato il valore 0!
Avete qualche idea sul problema? grazie e a tutti voi buone feste!