Salut a tous,
j'ai un petit blem pour afficher un foreach avec son array dans une boucle while
array bob est du type :
Array ( [0] => Array ( [0] => bleu.html [1] =>icon [2] => Accueil1 [3] => 1 ) [1] => Array ( [0] => bleu.html [1] =>icon [2] => Accueil2 [3] => 1 ) [2] => Array ( [0] => bleu.html [1] =>icon [2] => Actualité1 [3] => 2 ) [3] => Array ( [0] => bleu.html [1] =>icon [2] => Actualité2 [3] => 2 ) [4] => Array ( [0] => bleu.html [1] =>icon [2] => Galerie1 [3] => 8 ) [5] => Array ( [0] => bleu.html [1] =>icon [2] => Galerie2 [3] => 8 ) [6] => Array ( [0] => bleu.html [1] =>icon [2] => Contact1 [3] => 9 ) )
ensuite mon code :
mon souci c'est que mon foreach n'affiche que le dernier array a chaque fois Exemple: Dans Accueil il affiche uniquement Accueil2 alors que je voudrais qu'il affiche Accueil1 Accueil2 .
Comment dois je procéder pour que cela fonctionne.
Merci d'avance de votre aide.
Cdt
Modifié par spawns (31 Jul 2014 - 11:28)
j'ai un petit blem pour afficher un foreach avec son array dans une boucle while
array bob est du type :
$bob[]=array($surl,$sicon,$snom,$sidmenu);
affiche :Array ( [0] => Array ( [0] => bleu.html [1] =>icon [2] => Accueil1 [3] => 1 ) [1] => Array ( [0] => bleu.html [1] =>icon [2] => Accueil2 [3] => 1 ) [2] => Array ( [0] => bleu.html [1] =>icon [2] => Actualité1 [3] => 2 ) [3] => Array ( [0] => bleu.html [1] =>icon [2] => Actualité2 [3] => 2 ) [4] => Array ( [0] => bleu.html [1] =>icon [2] => Galerie1 [3] => 8 ) [5] => Array ( [0] => bleu.html [1] =>icon [2] => Galerie2 [3] => 8 ) [6] => Array ( [0] => bleu.html [1] =>icon [2] => Contact1 [3] => 9 ) )
ensuite mon code :
$req = mysql_query("SELECT * FROM menu ORDER BY position ASC ") or die("Erreur SQL !");
while($data = mysql_fetch_array($req))
{
$id=$data['id'];
$nom=$data['nom'];
$url=$data['url'];
$icon=$data['icon'];
echo '<li';
if ($nav_en_cours == $nom)
{
echo ' id="en-cours"';
}
echo '><a href="'.$url.'">'.$icon.' '.$nom.'</a>';
foreach ($bob as $valeur) {
extract($valeur);
if ($valeur[3]==$id){
echo '<ul><li><a href="'.$valeur[0].'">'.$valeur[1].' '.$valeur[2].'</a></li></ul>';
}
}
echo '</li>';
}
mon souci c'est que mon foreach n'affiche que le dernier array a chaque fois Exemple: Dans Accueil il affiche uniquement Accueil2 alors que je voudrais qu'il affiche Accueil1 Accueil2 .
Comment dois je procéder pour que cela fonctionne.
Merci d'avance de votre aide.
Cdt
Modifié par spawns (31 Jul 2014 - 11:28)