30/11/09 17:50
giocala88
Salve ragazzi, ho creato due tabelle in mysql:
mysql > CREATE TABLE giocatore (
-> id_giocatore int(6) NOT NULL auto_increment,
-> nome varchar(25) default ' ',
-> cognome varchar(25) default ' ',
-> data_nascita date default ' 0000-00-00 ',
-> luogo_nascita varchar(25) NOT NULL default ' ',
-> cittadinanza varchar(25) NOT NULL default ' ',
-> peso int(3) NOT NULL default ' 0 ',
-> altezza int(3) NOT NULL default ' 0 ',
-> id_squadra int(5) default ' 0 ',
-> goal_camp int(3) NULL,
-> goal_uefa int(3) NULL,
-> goal_mund int(3) NULL,
-> convocato smallint(1) default ' 0 ',
-> giocate_mund int(3) NOT NULL default ' 0 ',
-> PRIMARY KEY (nome, cognome, data_nascita)
-> );
mysql > CREATE TABLE squadra (
-> id_squadra int(5) NOT NULL auto_increment,
-> nome varchar(25) default ' ',
-> marca varchar(25) default ' ',
-> sponsor varchar(25) default ' ',
-> allenatore varchar(25) default ' ',
-> id_stadio int(3) default ' 0 ',
-> PRIMARY KEY (nome)
-> );
L'interfacciamneto per l'inserimento, modifica e cancellazione ha avuto successo.
Ora però vorrei unire le tabelle associando ad ogni nome e cognome di un giocatore una nome e allenatore della squadra.
So che il comando in mysql per fare ciò è:
SELECT giocatore.nome, giocatore.cognome,
squadra.nome, squadra.allenatore FROM giocatore LEFT JOIN squadra ON
giocatore.id_giocatore=squadra.id_squadra;
e funziona correttamente. Ora però il rpoblema nasce quando devo interfacciare in php la funzione JOIN.
Ho provato a fare [codice PHP]
$sql = "SELECT giocatore.nome, giocatore.cognome,
squadra.nome, squadra.allenatore FROM giocatore LEFT JOIN squadra ON
giocatore.id_giocatore=squadra.id_squadra";
$query_giocatorejoin = @mysql_query($sql) or die (mysql_error());
while($giocatore = my_sql_fetch_array(query_giocatorejoin) {
$nome = $giocatore['giocatore.nome'];
$cognome = $giocatore['giocatore.cognome'];
$allenatore = $squadra['squadra.allenatore'];
echo "'<p>' . $nome "-" $cognome "-" $allenatore "-" . '</p>'";
}
Ma non mi visulizza nulla solo tre zeri " 000 ". Dove sbaglio?Grazie anticipatamente.
mysql > CREATE TABLE giocatore (
-> id_giocatore int(6) NOT NULL auto_increment,
-> nome varchar(25) default ' ',
-> cognome varchar(25) default ' ',
-> data_nascita date default ' 0000-00-00 ',
-> luogo_nascita varchar(25) NOT NULL default ' ',
-> cittadinanza varchar(25) NOT NULL default ' ',
-> peso int(3) NOT NULL default ' 0 ',
-> altezza int(3) NOT NULL default ' 0 ',
-> id_squadra int(5) default ' 0 ',
-> goal_camp int(3) NULL,
-> goal_uefa int(3) NULL,
-> goal_mund int(3) NULL,
-> convocato smallint(1) default ' 0 ',
-> giocate_mund int(3) NOT NULL default ' 0 ',
-> PRIMARY KEY (nome, cognome, data_nascita)
-> );
mysql > CREATE TABLE squadra (
-> id_squadra int(5) NOT NULL auto_increment,
-> nome varchar(25) default ' ',
-> marca varchar(25) default ' ',
-> sponsor varchar(25) default ' ',
-> allenatore varchar(25) default ' ',
-> id_stadio int(3) default ' 0 ',
-> PRIMARY KEY (nome)
-> );
L'interfacciamneto per l'inserimento, modifica e cancellazione ha avuto successo.
Ora però vorrei unire le tabelle associando ad ogni nome e cognome di un giocatore una nome e allenatore della squadra.
So che il comando in mysql per fare ciò è:
SELECT giocatore.nome, giocatore.cognome,
squadra.nome, squadra.allenatore FROM giocatore LEFT JOIN squadra ON
giocatore.id_giocatore=squadra.id_squadra;
e funziona correttamente. Ora però il rpoblema nasce quando devo interfacciare in php la funzione JOIN.
Ho provato a fare [codice PHP]
$sql = "SELECT giocatore.nome, giocatore.cognome,
squadra.nome, squadra.allenatore FROM giocatore LEFT JOIN squadra ON
giocatore.id_giocatore=squadra.id_squadra";
$query_giocatorejoin = @mysql_query($sql) or die (mysql_error());
while($giocatore = my_sql_fetch_array(query_giocatorejoin) {
$nome = $giocatore['giocatore.nome'];
$cognome = $giocatore['giocatore.cognome'];
$allenatore = $squadra['squadra.allenatore'];
echo "'<p>' . $nome "-" $cognome "-" $allenatore "-" . '</p>'";
}
Ma non mi visulizza nulla solo tre zeri " 000 ". Dove sbaglio?Grazie anticipatamente.
Ultima modifica effettuata da giocala88 30/11/09 17:50
aaa