Ciao ragazzi, vi scrivo per la terza volta perché ho bisogno di aiuto per la costruzione di una classifica calcio amatoriale "lo faccio per hobby" gestisco un sito di una squadra di terza categoria.
non riesco ad stampare a video questa query mi da errore di sintassi mi dareste un occhiata,
il punto è questo: sum(if(punteggio=3 and dove = "C",1,0)) as vittorie_casa,
<?php
$conn = @new mysqli('localhost', 'root', 'xxxxxxxx', 'classifica');
if (mysqli_connect_errno() != 0)
{
$errno = mysqli_connect_errno();
$errmsg = mysqli_connect_error();
echo "Connect Failed with: ($errno) $errmsg
\n";
exit;
}
//
// don't forget to set our query as UTF-8 !!!!
//
$conn->query("SET NAMES 'utf8'");
$query_str = "SELECT * FROM campionato select squadra,
count(squadra) as partite,
sum(if(punteggio=3,1,0)) as vittorie,
sum(if(punteggio=1,1,0)) as pareggi,
sum(if(punteggio=0,1,0)) as sconfitte,
sum(punteggio) as punteggio,
sum(fatti) as fatti,
sum(subiti) as subiti,
sum(fatti)-sum(subiti) as diff_reti,
sum(if(punteggio=3 and dove = "C",1,0)) as vittorie_casa,
sum(if(punteggio=1 and dove = "C",1,0)) as pareggi_casa,
sum(if(punteggio=0 and dove = "C",1,0)) as sconfitte_casa,
sum(if(punteggio=3 and dove = "T",1,0)) as vittorie_trasferta,
sum(if(punteggio=1 and dove = "T",1,0)) as pareggi_trasferta,
sum(if(punteggio=0 and dove = "T",1,0)) as sconfitte_trasferta
from
(
select sq_casa as squadra,gol_casa as fatti,gol_trasferta as subiti,"C" as dove,
case
when gol_casa > gol_trasferta then 3
when gol_casa = gol_trasferta then 1
else 0
end as punteggio
from campionato
union all
select sq_trasferta as squadra,gol_trasferta as fatti,gol_casa as subiti,"T",
case
when gol_trasferta > gol_casa then 3
when gol_trasferta = gol_casa then 1
else 0
end as punteggio
from campionato
) as tab
group by squadra
order by punteggio desc";
$result = $conn->query($query_str);
if ($result === FALSE)
{
$errno = $conn->errno;
$errmsg = $conn->error;
echo "Connect Failed with: ($errno) $errmsg
\n";
$conn->close();
exit;
}
else
{
echo <<<EOM
<table border='1'>
<tr>
<td>User ID</td>
<td>squadre</td>
<td>punteggio</td>
<td>partite</td>
<td>fatti</td>
<td>subiti</td>
<td>vittorie</td>
<td>pareggi</td>
<td>sconfitte</td>
<td>diff_reti</td>
<td>vittorie_casa</td>
<td>pareggi_casa</td>
<td>sconfitte_casa</td>
<td>vittorie_trasferta</td>
<td>pareggi_trasferta</td>
</tr>
EOM;
while (($row_data = $result->fetch_assoc()) !== NULL)
{
echo <<<EOM
<tr>
<td>{$row_data['contatore']}</td>
<td>{$row_data['user_id']}</td>
<td>{$row_data['squadre']}</td>
<td>{$row_data['punteggio']}</td>
<td>{$row_data['partite']}</td>
<td>{$row_data['fatti']}</td>
<td>{$row_data['subiti']}</td>
<td>{$row_data['vittorie']}</td>
<td>{$row_data['pareggi']}</td>
<td>{$row_data['sconfitte']}</td>
<td>{$row_data['diff_reti']}</td>
<td>{$row_data['vittorie_casa']}</td>
<td>{$row_data['pareggi_casa']}</td>
<td>{$row_data['sconfitte_casa']}</td>
<td>{$row_data['vittorie_trasferta']}</td>
<td>{$row_data['pareggi_trasferta']}</td>
</tr>
EOM;
}
echo <<<EOTABLE
</table>
EOTABLE;
//
// clean up resultsets when we're done with them!
//
$result->close();
}
//
// finally, clean up the connection.
//
$conn->close();
?>
Un saluto a tutti