IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Foreach dans un while [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut Foreach dans un while
    Salut a tous,
    j'ai un petit blem pour afficher un foreach avec son array dans une boucle while
    array bob est du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    $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) {
    				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

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Question bête : à quoi sert extract($valeur) dans le foreach ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut
    A rien , c'est un bout de code que j'ai oublié de supprimer.
    je modifie mon post précédent.
    t'as pas une idée pour me blem autrement ???

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    J'ai du mal à lire votre tableau.
    C'est un tableau à deux dimensions ?

    Je pense qu'il faut imbriquer deux boucles foreach.
    Dans votre code, il y en a qu'une.

  5. #5
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut
    Nickel c'était cela tout c...
    Merci @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. foreach dans boucle while
    Par Kevfou dans le forum Langage
    Réponses: 6
    Dernier message: 01/02/2012, 10h46
  2. Réponses: 14
    Dernier message: 13/10/2005, 12h55
  3. Réponses: 4
    Dernier message: 14/09/2005, 17h23
  4. [CR8.5] Pbm d'affichage dans un While
    Par .:Tieri:. dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 14/07/2004, 10h17
  5. Réponses: 3
    Dernier message: 25/11/2002, 14h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo