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 :

for each sur data [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Mars 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 2
    Par défaut for each sur data
    Bonjour,

    Je ne vois pas où est mon erreur dans ce 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
     
            $champs_sql  = "ID, NOM";
     
    	$query = 'SELECT '.$champs_sql.' FROM TEST ORDER BY NOM'; 
     
    	$req = mysql_query($query); 
     
     
            //creation d'un tableau
            $tab_champs = explode(",", $champs_sql);	
     
            // boucle sur les enregistrements
    	while($data = mysql_fetch_assoc($req)) 
    	{
    		foreach ($tab_champs as $champ)
    		{
    			echo $champ.'='.$data[$champ].'*';
    		}
    		// unset($champ); //ne change rien
    	}
    Je voudrais avoir :
    ID=1*NOM=A*
    ID=2*NOM=B*
    ID=3*NOM=C*

    Mais mon code fait que çà :
    ID=1*NOM=*
    ID=2*NOM=*
    ID=3*NOM=*

    La valeur du champ NOM ne ressort pas

    Où est mon erreur car je ne vois pas là ?

    Merci pour votre oeil de lynx

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu as peut être un problème de casse. Vérifie le contenu de $data

    Il serait plus logique de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $champs_sql = array('ID', 'NOM');
     
    	$query = 'SELECT '. implode(",", $champs_sql).' FROM TEST ORDER BY NOM'; 
     	$req = mysql_query($query); 
     
            // boucle sur les enregistrements
    	while($data = mysql_fetch_assoc($req)) 
    	{
    		foreach ($data as $champ=>$value)
    		{
    			echo $champ.'='.$value.'*';
    		}
    	}
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Ou encore (si ça vient d'un input utilisateur par exemple, sinon la syntaxe avec array est plus adaptée):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $fields = array_map('trim', explode(',', $str));

  4. #4
    Candidat au Club
    Inscrit en
    Mars 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 2
    Par défaut
    Merci à toi, çà marche !


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

Discussions similaires

  1. Réponses: 7
    Dernier message: 09/04/2009, 09h34
  2. Réponses: 1
    Dernier message: 22/04/2008, 21h25
  3. For each sur Composant ? Initialiser des composants.
    Par 19cmos83 dans le forum Interfaces Graphiques en Java
    Réponses: 8
    Dernier message: 11/10/2007, 11h02
  4. Faire un For Each sur le MemberShip
    Par zooffy dans le forum ASP.NET
    Réponses: 2
    Dernier message: 19/07/2007, 11h49
  5. boucle for each sur un groupe
    Par LeXo dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 06/04/2007, 21h38

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