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 :

Récupération de variables dans boucle


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Récupération de variables dans boucle
    Bonjour à tous, je suis coincé dans un petit soucis de variables en php...

    je connais les variables $question1 et $question2 contenant du texte (string)

    je voudrais récupérer dans une boucle le contenu de mes deux variables,
    ceci ne marche pas, que faut-il que je fasse ?

    boucle $i=1 -> 2
    {
    print $question.$i;
    }

    Un grand merci pour votre aide

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Il faudrait d'urgence revoir la syntaxe des boucles en PHP.

    Sinon il vaut mieux utiliser des tableaux ; donc $question[1] et $question[2] et un foreach() pour parcourir le tout

  3. #3
    Membre chevronné Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Points : 1 895
    Points
    1 895
    Par défaut
    essaye ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $question1 = 'Un morceau de la phrase';
    $question2 = ' et un autre morceau.';
     
    foreach (array(1, 2) as $numero) {
        echo ${"question$numero"};
    }

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par nosferapti Voir le message
    essaye ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $question1 = 'Un morceau de la phrase';
    $question2 = ' et un autre morceau.';
     
    foreach (array(1, 2) as $numero) {
        echo ${"question$numero"};
    }

    nosferapti tu es tout simplement pour moi un Dieu !
    Merci ça fonctionne super bien. Je vais pouvoir continuer mon programmmmmmme

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Rebonjour,
    j'ai transformé un peu le code que vous m'aviez donné pour donner ce qui suit. Ce qui fonctionne très bien.
    Mais si je veux compliquer les choses comme sur l'exemple suivant, quelle va être la bonne syntaxe ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $q1r2="blabla";
     
    for($i=1;$i<4;$i++)
    {
         for($g=1; $g < 3;$g++)
         {
         echo ${"q$ir$g"}; <--- Quelle syntaxe ici pour retrouver la valeur de $q1r2 ?
         }
    }
    Merci pour votre réponse. Et mille excuses pour mes lacunes

  6. #6
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Je me repête mais la bonne façon de faire est d'utiliser un tableau PHP.

  7. #7
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Malgrès que je vois trop le sens du code.

    Ce ne serait pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo ${'q'.$i.'r'.$g'};
    Pour l'affichage de tes douze variables ....

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Fench Voir le message
    Bonjour,

    Malgrès que je vois trop le sens du code.

    Ce ne serait pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo ${'q'.$i.'r'.$g'};
    Malheureusement j'avais essayé ta méthode, mais ça ne fonctionne pas. J'utiliserais bien des tableaux, mais je ne vois pas comment procéder, n'étant pas un très familiarisé. L'intérêt de ce code, c'est de pouvoir créer à la volée des variable var1 var2 dans les boucles et récupérer sur une page suivante, les valeur contenu dans des champs de formulaire. Ce sont ces valeurs de formulaire que j'essaie de récupérer avec le nom des champs créés par les boucles... Je ne sais pas si c'est très clair

    Par exple $q1 correspond au nom d'un champs de formulaire créé sur la page précédente dans une bouche (for)... si 10 champs text ont été créés, je veux récupérer leur contenu... $q2 $q3... $q10 ça j'y arrive en fait. Mais ensuite complexifier le programme en mettant des sous-champs dans une deuxième boucle imbriquée dans la première. Il me faut à nouveau récupérer le contenu de ces champs sous la forme $q1r1 $q1r2 $q1r3... $q2r1, $q2r2... mais là je n'ai pas de syntaxe valable pour le faire...

  9. #9
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    RE:

    Malgrès qu'il y a une petite erreur c:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo ${'q'.$i.'r'.$g};
    il y avait une quote en trop (mais je pense que tu l'avais vu)

    Parcontre, la syntaxe que je t'avais donné, je l'avais déjà utilisé et j'ai refait avec tes deux boucles indiquées, ça marche J'ai bien 6 valeurs (qu'il a fallut définir avant, bien sûr).
    Ou alors on arrange avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (isset (${'q'.$i.'r'.$g})) echo ...;

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Fench Voir le message
    Parcontre, la syntaxe que je t'avais donné, je l'avais déjà utilisé et j'ai refait avec tes deux boucles indiquées, ça marche J'ai bien 6 valeurs (qu'il a fallut définir avant, bien sûr).
    Cher Fench, je te fais mes plus plates excuses, oui ça fonctionne et tu m'as bien aidé. Hier à 5h du mat, je ne devais plus avoir les yeux en face des trous... Mille excuses pour le dérangement... en tout cas, tu m'as confirmé que j'étais sur la bonne voie. Merci à toi et merci à tous, super forum. bye bye à une prochaine.

  11. #11
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    De rien,

    Merci déjà de répondre lorsque c bon

    Bonne fin de journée.

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

Discussions similaires

  1. Récupération de variable dans titre état ?
    Par leeloo35 dans le forum IHM
    Réponses: 6
    Dernier message: 18/02/2008, 13h29
  2. Récupération de variable dans un champ input
    Par AUTREPAPOU dans le forum Langage
    Réponses: 2
    Dernier message: 03/11/2007, 12h09
  3. affecter variable dans boucle FOR batch
    Par efferalgan dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 25/10/2007, 15h25
  4. [SHELL] Variable dans boucle for
    Par magicwill dans le forum Linux
    Réponses: 6
    Dernier message: 11/08/2007, 12h31
  5. Récupération de variable dans un Formulaire
    Par dunbar dans le forum Langage
    Réponses: 5
    Dernier message: 30/11/2006, 21h00

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