Faire un foreach pour chaque élément après un explode

Bonjour à tous

Je fais appel à vous car je suis face à un problème qui m’empêche d’avancer.
J’essaye de gêrer des tracklist pour des CD via Mysql.

J’ai un champ tracklist_id qui contient les id des tracklist qui sont situées dans une autre table.
Lorsqu’un CD possède plusieurs CD, je renseigne les différentes tracklist dans mon champ tracklist_id tel que : 117,100

Mais j’ai des problèmes pour afficher les deux tracklist sur mon site !


$cds = explode(",", $row2['tracklist_id']);
foreach ($cds as $rows1){
	echo'<ol>';
	$rows1 = explode("|", $row2['tracklist']);
	foreach ($rows1 as $rows2){
		echo "<li>$rows2</li>\n";
	}
	echo'</ol>';
}

Ce code m’affiche bel et bien deux tracklist, sauf qu’il affiche 2x la même (la première, donc l’id 117). Avez-vous une idée pour m’aider? Merci :stuck_out_tongue:

Bonjour,
Voici le code que tu recherches si j’ai bien compris.

<?php
$TrackList="117,114,11,A947,456,2";
echo "<ol>";
$cds = explode(",",$TrackList);

foreach ($cds as $rows1)
{
echo "<li>".$rows1;
}

echo "</ol>";
?>

Sinon, je n’ai pas comrpis ton code :slight_smile: Tu utilises “$row2” dans ton premier explode qui après te sers dans ton second “foreach”.

Merci pour ta réponse !!

J’ai essayé le code, ca affiche correctement la tracklist du premier cd, mais rien d’autre… donc pas la deuxieme partie.
Avec le code que j’ai posté, j’arrivais à avoir deux liste

    distinctes, pour chacune des tracklist. Mais cétait deux fois la meme tracklist. Donc j’avais CD 1 + CD 1 au lieu d’avoir CD 1 + CD 2…

    A la place de

    
    $TrackList="117,114,11,A947,456,2";
    
    

    j’ai mis, qui correspond au champ qui contient les tracklist textuelles via un LEFT JOIN. Sinon il m’affiche le chiffre :wink:

    
    $TrackList= $row2['tracklist'];
    
    

    Merci de ton aide :slight_smile: