Ciao a tutti. In un sito internet che sto realizzando ho due tabelle, canzoni e artisti. Nella pagina voglio far apparire tutte le canzoni, quindi "SELECT * FROM canzoni" e fin qui ok. Considerando che ogni canzone potrebbe avere più artisti, prevedo di inserirne un massimo di 3.
Le due tabelle hanno quindi diversi campi, tra cui quelli chiamati in causa sono i seguenti.
___CANZONI:
id_canzone (INT PRIMARY AUTO INCREMENT)
id_artista_uno (INT)
id_artista_due (INT)
id_artista_tre (INT)
___ARTISTI
id_artista (INT PRIMARY AUTO INCREMENT)
nome_artista (VARCHAR)
Supponiamo che l'artista Michael Bublé abbia, nella tabella ARTISTI, id_artista numero '5'.
Tramite pannello admin creato precedentemente, inserisco una canzone con titoli, album, ecc e quando scelgo l'artista, dal menù a tendina (SELECT * ALL FROM artisti) scelgo Michael Bublé. In CANZONI, nel campo id_artista_uno mi va a riversare il '5'. Se la canzone ha altri artisti, faccio la stessa cosa e riverso un numero per i vari id_artista_due e id_artista_tre.
Nel frontend, quando faccio partire un ciclo while con "SELECT * FROM canzoni", quindi, vorrei che PHP intercettasse l'id_artista_uno di CANZONI, che in questo caso è 5, e andasse in ARTISTI a selezionare l'id_artista 5 con nome_artista Michael Bublé, in modo che io possa fare echo $array[nome_artista] e vedere il nome di Michael Bublé, non il suo numero (id_artista).
Ulteriore problematica è che questo dovrebbe farlo anche per id_artista_due e id_artista_tre durante il ciclo while.
Alla fine di tutto questo marasma il risultato è semplice.
Artistauno feat. Artistadue and Artistatre.
Qualcuno mi ha suggerito di utilizzare LEFT JOIN nella selezione. Ho fatto vari tentativi, cercato di capirne qualcosa ma al momento sono scarso sull'argomento e gentilmente vi chiedo un aiuto.
Spero di aver esposto il mio problema nel modo più esauriente possibile.. grazie in anticipo.
phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.
Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.
Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.
Grazie ancora,
Carlo - Amministratore di phpBB Italia
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.
Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.
Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.
Grazie ancora,
Carlo - Amministratore di phpBB Italia
problemi con left join
Chi c’è in linea
Visitano il forum: Nessuno e 47 ospiti