RayFanti
31-10-2014, 12:00
Salve a tutti!
Sto cercando di ottenere una top tre formata da delle statistiche che prelevo da un database contando il numero di righe corrispondenti a un dato parametro.
Tralasciando il fatto che mi sono sicuramente complicato inutilmente la vita grazie alla mia palese (vedi codice sottostante) ignoranza in php, sono arrivato al punto di avere una bellissima tabella basata su un array multidimensionale che però non riesco a ordinare secondo i parametri che voglio (pro, punti e sup).
Ho provato con usort e array_multisort, ma non riesco a ottenere i risultati voluti (probabilmente per il mio codice completamente arbitrario = ] )
Il codice:
$n = 1;
//
$r = mysql_query("SELECT id,nome,cognome FROM lista_g") OR die('Errore nella richiesta a MySQL');
mysql_close();
while($ri = mysql_fetch_assoc($r))
{
//
$r2 = mysql_query("SELECT pr FROM stat WHERE pr='".$ri['cognome']."'") OR die('Errore nella richiesta a MySQL');
mysql_close();
$pro = mysql_num_rows($r2);
//
$r3 = mysql_query("SELECT sr FROM stat WHERE sr='".$ri['cognome']."'") OR die('Errore nella richiesta a MySQL');
mysql_close();
$sup = mysql_num_rows($r3);
$punti = $pro + $sup;
$tot = mysql_num_rows($r);
$arr[$n++] = array("cognome" => $ri['cognome'], "nome" => $ri['nome'], "pro" => $pro, "sup" => $sup, "punti" => $punti);
}
for ($i = 1; $i <= $tot; $i++) {
$tab= array
(
$arr[$i],
);
echo '<tr><td><div align="center">'.$tab[0][cognome].', '.$tab[0][nome].'</div></td><td><div align="center"><b>'.$tab[0][pro].'</b></div></td><td><div align="center"><b>'.$tab[0][sup].'</b></div></td><td><div align="center"><b>'.$tab[0][punti].'</b></div></td></tr>';
}
Grazie in anticipo. : )
Sto cercando di ottenere una top tre formata da delle statistiche che prelevo da un database contando il numero di righe corrispondenti a un dato parametro.
Tralasciando il fatto che mi sono sicuramente complicato inutilmente la vita grazie alla mia palese (vedi codice sottostante) ignoranza in php, sono arrivato al punto di avere una bellissima tabella basata su un array multidimensionale che però non riesco a ordinare secondo i parametri che voglio (pro, punti e sup).
Ho provato con usort e array_multisort, ma non riesco a ottenere i risultati voluti (probabilmente per il mio codice completamente arbitrario = ] )
Il codice:
$n = 1;
//
$r = mysql_query("SELECT id,nome,cognome FROM lista_g") OR die('Errore nella richiesta a MySQL');
mysql_close();
while($ri = mysql_fetch_assoc($r))
{
//
$r2 = mysql_query("SELECT pr FROM stat WHERE pr='".$ri['cognome']."'") OR die('Errore nella richiesta a MySQL');
mysql_close();
$pro = mysql_num_rows($r2);
//
$r3 = mysql_query("SELECT sr FROM stat WHERE sr='".$ri['cognome']."'") OR die('Errore nella richiesta a MySQL');
mysql_close();
$sup = mysql_num_rows($r3);
$punti = $pro + $sup;
$tot = mysql_num_rows($r);
$arr[$n++] = array("cognome" => $ri['cognome'], "nome" => $ri['nome'], "pro" => $pro, "sup" => $sup, "punti" => $punti);
}
for ($i = 1; $i <= $tot; $i++) {
$tab= array
(
$arr[$i],
);
echo '<tr><td><div align="center">'.$tab[0][cognome].', '.$tab[0][nome].'</div></td><td><div align="center"><b>'.$tab[0][pro].'</b></div></td><td><div align="center"><b>'.$tab[0][sup].'</b></div></td><td><div align="center"><b>'.$tab[0][punti].'</b></div></td></tr>';
}
Grazie in anticipo. : )