Salve a tutti,
In un sito che sto creando ho molte tabelle, di cui artisti e canzoni.
Devo creare una lista di canzoni, ciascuna contenente dei dati. La problematica di questa selezione è molto semplice: ogni canzone può avere più artisti. Gli artisti li vado a prelevare dalla tabella artisti. Finché è uno solo, prelevo il singolo id_artista e fine. Quando sono tanti, non so proprio come muovermi.
Il risultato che vorrei ottenere è il seguente:
artista 1 feat. artista 2 and artista 3.
(se gli ultimi due artisti non sono presenti, con le condizioni tolgo le diciture "feat." e "and".
Per una maggiore comprensione, vi espongo il codice con commenti in aggiunta.
Tutto questo non funziona perché durante il ciclo ogni canzone finisce per avere gli stessi artisti della prima..
vi ringrazio anticipatamente per il vs supporto
In un sito che sto creando ho molte tabelle, di cui artisti e canzoni.
Devo creare una lista di canzoni, ciascuna contenente dei dati. La problematica di questa selezione è molto semplice: ogni canzone può avere più artisti. Gli artisti li vado a prelevare dalla tabella artisti. Finché è uno solo, prelevo il singolo id_artista e fine. Quando sono tanti, non so proprio come muovermi.
Il risultato che vorrei ottenere è il seguente:
artista 1 feat. artista 2 and artista 3.
(se gli ultimi due artisti non sono presenti, con le condizioni tolgo le diciture "feat." e "and".
Per una maggiore comprensione, vi espongo il codice con commenti in aggiunta.
HTML:
<?php
//seleziono ciclo tutte le canzoni
$sql_list="SELECT * FROM canzoni";
$query_list=mysql_query($sql_list);
while ($array_list=mysql_fetch_array($query_list)) { ?>
<div class="single_hit">
<a href=""><img src="Immagini/cover/<?php echo $array_list[file] ?>" height="300" width="300" alt="<?php $array_list[titolo_canzone] ?>" /></a>
<div class="single_canzone_WHITE">
<div class="single_canzone_aside_white">#<?php echo $array_list[topcento] ?></div>
<div class="single_canzone_bside_white">
<h5><?php echo $array_list[titolo_canzone] ?></h5>
<h6>
<?php
//da qui iniziano i problemi. Questo è il mio tentativo per ottenere il risultato esposto in precedenza.
$sql_one="SELECT * FROM canzoni, artisti WHERE canzoni.id_primo_artista = artisti.id_artista";
$query_one=mysql_query($sql_one);
$array_one=mysql_fetch_array($query_one);
echo $array_one[nome_artista];
?> <?php if ($array_list[id_secondo_artista] != "0" ) {?>
feat <?php
$sql_two="SELECT * FROM canzoni, artisti WHERE canzoni.id_secondo_artista = artisti.id_artista";
$query_two=mysql_query($sql_two);
$array_two=mysql_fetch_array($query_two);
echo $array_two[nome_artista];
} if ($array_list[id_terzo_artista] != "0" ) {
?> and <?php
$sql="SELECT * FROM canzoni, artisti WHERE canzoni.id_terzo_artista = artisti.id_artista";
$query=mysql_query($sql);
$array=mysql_fetch_array($query);
echo $array[nome_artista];
} ?>
</h6>
</div>
</div>
</div>
<?php } ?>
Tutto questo non funziona perché durante il ciclo ogni canzone finisce per avere gli stessi artisti della prima..
vi ringrazio anticipatamente per il vs supporto