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

Langage PHP Discussion :

Acces elements d'une table par une boucle


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 17
    Par défaut Acces elements d'une table par une boucle
    Bonjour,

    j'ai une table avec 30 champs (c1,c2,c3,..,c30). Apres avoir extrait les donnees d'une ligne de la table ($line=mysql_fetch_array(xxx)), j'aimerais acceder a ces champs dans une boucle "for". Comment faire ?

    je cree donc une variable temporaire "$tmp='c'.$i;". cette variable contiendra c1, c2, c3 ... a chaque tour de boucle mais comment faire pour acceder a la donnee pointee par cette chaine $tmp ?

    $c1 me renvoie la valeur de c1 mais $tmp me renvoie "c1" et non ce qu'il y a dans $c1 !


    J'espere etre clair...

    Merci pour votre aide
    David

  2. #2
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    Non c'est pas très clair...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 17
    Par défaut
    Voici un peu plus de details alors...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $req = "SELECT * FROM table WHERE numero=''1";
    $result = mysql_query ($req) or die ("Impossible d executer la requete PHP"); 
    $line = mysql_fetch_array ($result,MYSQL_ASSOC);
    extract ($line);
    Ici, $line contient les donnees de ma ligne, par exemple $c1 vaut "titi", $c2 vaut "toto", etc...

    Si je veux acceder a ces valeurs, j'utilise $c1, $c2, .... sauf que je n'ai pas envie de faire ca 30 fois ! J'aimerai donc faire une boucle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for ($i=0;$i<=30;$i++) {
       $tmp = 'c'.$i; // $tmp contient successivement c1, c2, ...
       echo "$tmp"; // affiche c1, c2, ... au lieu "titi", "toto", ...
    }
    Comment faire pour avoir le contenu de c1, c2, ... Je voudrais que ce qui est dans $tmp soit pris comme une variable et non comme une chaine.

    Ca fait longtemps que je ne fais plus d'informatique alors j'ai un peu oublier les termes techniques, desole...

    David

  4. #4
    Membre éprouvé
    Inscrit en
    Juillet 2009
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 156
    Par défaut
    tu as un tableau, ce qui est une bonne base pourquoi refaire une boucle pour ressortir des variables??? garde ton tableau...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $max = count($line);
    for ( $i = 0 ; $i < $max ; $i++ ) {
         $tmp = $line[$i];
         echo $tmp;
    }

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 17
    Par défaut
    OK Merci,

    Je n'avais jamais percuté que $line etait un tableau... Comme j'utilise toujours mysql_fetch_array avec extract, je n'avais jamais eu besoin du tableau...

    Merci pour votre aide !
    David

  6. #6
    Membre éprouvé
    Inscrit en
    Juillet 2009
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 156
    Par défaut
    Cela ne tiens qu'a moi hein, mais je pense qu'il faut prendre l'habitude de toujours travailler sur des tableau pour apprendre a bien manipuler ceux ci... car quand tu gères bien, tu peux faire des trucs bien sympa avec des tableau multi dimensionnel ou encore ou comparant plusieurs tableau...

    Tout ca pour dire que dans le cas d'une requête SQL, ca t'évite de repartir sur 50 variables, tout est dans un tableau, bien rangé donc pas besoin de faire un extract...

    Sinon tu as possibilité de sortir tes valeurs sql de manière dissociés, donc je ne vois pas l'intérêt de le sortir sous forme de tableau pour l'éclater par la suite

    Comme je l'ai dis, ca reste un avis perso hein

Discussions similaires

  1. copier une table d'une BDD dans une table d'une autre BDD
    Par faniette dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/05/2013, 11h17
  2. [AC-2003] insert des données d'une table dans une table d'une base externe
    Par marieo dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/11/2009, 15h29
  3. Copier les enregistrements d'une table vers une table d'une autre DB
    Par karinette21 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 18/11/2008, 22h50
  4. Réponses: 4
    Dernier message: 31/10/2007, 21h27
  5. Réponses: 2
    Dernier message: 29/03/2007, 12h47

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