Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: problema join table

  1. #1

    problema join table

    buona sera ho un problema che mi fa impazzire, ho due tabelle una gironi e una partite, devo estrarre le ultime 10 partite inserite divise per lega (Serie A,b,c).

    tabella gironi
    CREATE TABLE `gironi` (
    `id_girone` int(10) unsigned NOT NULL auto_increment,
    `giornata` int(11) NOT NULL default '0',
    `tipo` enum('andata','ritorno') NOT NULL default 'andata',
    `data` date NOT NULL default '0000-00-00',
    `lega` enum('Serie A','Serie B','Serie C') NOT NULL default 'Serie A',
    KEY `id_girone` (`id_girone`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=65 ;

    tabella partite
    CREATE TABLE `partite` (
    `id_part` int(10) unsigned NOT NULL auto_increment,
    `id_girone` int(11) NOT NULL default '0',
    `casa` varchar(50) NOT NULL default '',
    `casa_link` varchar(100) NOT NULL default '',
    `ospite` varchar(50) NOT NULL default '',
    `ospite_link` varchar(100) NOT NULL default '',
    `data_mod` date NOT NULL default '0000-00-00',
    `impianto` varchar(50) NOT NULL default '',
    `variazioni` varchar(50) NOT NULL default '',
    `ora` varchar(5) NOT NULL default '',
    `tv` enum('si','no') NOT NULL default 'si',
    KEY `id_part` (`id_part`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=513 ;

    Come devo fare dato che la tabella partita non ha un campo lega ma solo la tabella gironi?

    Grazie mille anticipatamente

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    50
    ma tu con una sola select vuoi avere 30 partite?

  4. #4
    devo estrarre 10 partite praticamente il mio codice è questo:

    Codice PHP:
                                          <?
                          $sql 
    mysql_query("select * from partite where data_mod != '0000-00-00' order by data_mod desc limit 8");
                          while(
    $valori mysql_fetch_array($sql))
                          {
                          
    // girone
                          
    $sql_gir mysql_query("select * from gironi where id_girone = '$valori[id_girone]'");
                          
    $val_gir mysql_fetch_array($sql_gir);
                          
    $data $val_gir['data'];
        list (
    $a,$m,$g) = explode("-"$data);
        
    $data "$g-$m-$a";
                          
    ?>
    Così come è ora estrae le 10 ultime partite inserite indifferentemente dalla lega...quello che invece devo fare è estrarre le ultime 10 da serie a le ultime 10 di serie b ecc.

  5. #5

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    non sapendo cosa contiene gironi ad occhio direi
    fai una cosa di questo tipo

    sql su gironi
    while {
    sql su partite
    while {
    echo risultato.
    }
    }

  7. #7
    risolto
    Codice PHP:
    select from partite inner join gironi on (partite.id_girone gironi.id_gironeorder by data_mod limit 10 

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    :master: :rollo:
    ma vah

  9. #9
    come hai fatto tu non posso ordinarli per data di partita perchè tu parti a estrarre dalla tabella gironi

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    come avevo detto
    Originariamente inviato da stabi
    non sapendo cosa contiene gironi ..
    xò così non tiri fuori le 10 di a, 10 di b e 10 di c
    tiri fuori solo 10 partite.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.