ciao a tutti, sto combattendo con qualche giorno col php/mysql (dopo un paio d'anni di astinenza)
ho le seguenti tabelle:
ora mi creo una pagina dalla tabella drivers con una semplice query che mi mostra tutti i piloti presenti nella tabella DRIVERScodice:Struttura della tabella `gare` CREATE TABLE `gare` ( `race_id` tinyint(3) NOT NULL default '0', `pos_gara` tinyint(2) NOT NULL default '0', `nome_pilota` varchar(50) NOT NULL default '', `auto` varchar(50) NOT NULL default '', `giri_gara` tinyint(3) NOT NULL default '0', `tempo_gara` varchar(20) NOT NULL default '', `gap_gara` varchar(20) NOT NULL default '', `fastest_laptime` varchar(20) NOT NULL default '', `fastest_lapnr` tinyint(3) NOT NULL default '0', `pos_quali` tinyint(2) NOT NULL default '0', `tempo_quali` varchar(20) NOT NULL default '', `gap_quali` varchar(20) NOT NULL default '' ) TYPE=MyISAM; Struttura della tabella `drivers` CREATE TABLE `drivers` ( `driver_id` int(3) unsigned NOT NULL auto_increment, `nome` varchar(40) NOT NULL default '', `numero` int(3) NOT NULL default '0', `nick` varchar(40) NOT NULL default '', `auto` varchar(150) NOT NULL default '', `team` varchar(40) NOT NULL default '', `logo` varchar(150) NOT NULL default '', KEY `driver_id` (`driver_id`) ) TYPE=MyISAM AUTO_INCREMENT=8 ;
e fin qui nessun problemaCodice PHP:if ($sortby == "")
$query = "SELECT * FROM drivers order by driver_id DESC";
else
$query = "SELECT * FROM drivers order by $sortby $order";
$result = mysql_query($query, $db);
while ($row = mysql_fetch_array($result)) {
$driver_id = $row["driver_id"];
$numero = $row["numero"];
$nome = $row["nome"];
$nick = $row["nick"];
ora devo recuperare dalla tabella GARE alcuni dati per ogni singolo pilota facendo delle COUNT; ad esempio voglio trovare quante gare ha fatto ogni singolo pilota
ecco il seguito della pagina che ho fatto:
purtroppo però mi fa apparire solo 1 pilota mentre a me serve la lista di tutti i piloti presenti in drivers e la somma delle presenze per ciascuno di loro...Codice PHP:$query = "SELECT g.*, d.*, count(*) AS tot_gare FROM gare g INNER JOIN drivers d ON g.nome_pilota=d.nome GROUP BY nome_pilota";
$result = mysql_query($query, $db);
$row = mysql_fetch_array($result);
{
$tot_gare = $row["tot_gare"];
}
echo "<tr bgcolor=\"$colore_riga\"><td class='riga'><a href=\"view_driver.php?driver_id=$driver_id\"> $nome</a></td><td class='riga'>$nick</td><td class='riga'>$numero</td><td class='riga'>$tot_gare</td><td class='riga'>$vittorie</td><td class='riga'>$poles</td></tr>";
}
mysql_close($db);
?>
spero nel vostro aiuto
grazie
Roberto

)
Rispondi quotando