Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2000
    Messaggi
    138

    aiuto per strutturare una pagina con più query

    ciao a tutti, sto combattendo con qualche giorno col php/mysql (dopo un paio d'anni di astinenza )

    ho le seguenti tabelle:

    codice:
    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 ;
    ora mi creo una pagina dalla tabella drivers con una semplice query che mi mostra tutti i piloti presenti nella tabella DRIVERS
    Codice 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"]; 
    e fin qui nessun problema

    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:
    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);
    ?> 
    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...
    spero nel vostro aiuto
    grazie
    Roberto

  2. #2
    Utente di HTML.it L'avatar di Avalox
    Registrato dal
    Nov 2003
    Messaggi
    302
    Forse ti manca il ciclo sui risultati della seconda query?

    while (($row = mysql_fetch_assoc(ecc....)))

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.