[PHP] Problème variable

Discussion dans 'Web, design' créé par [Clad], 12 Juin 2008.

Statut de la discussion:
Fermée.
  1. Offline
    [Clad] Elite
    Bonjour à tout le monde, petit problème de débutant oO

    Je souhaite tester des variables, mais comme j'en ai beaucoup et en plus je ne sais pas leur nombre je fait plein de test/boucle. Ca marche très bien

    Cependant j'aimerai créer un nom de variable composé de variable. Gné???

    Petit bout de code:

    if ($_POST['ligne'.$i.'champ'.$j.'']=='TOR')
    {echo'cest un TOR<br/>';
    $'ligne'.$i.'champ'.$j.''=TOR;
    echo $ligne.$i.champ.$nbChamps;
    }

    Donc par exemple si $i=3 et $j=4:

    Si $ligne3champ4==TOR alors j'aimerais enregistrer TOR dans la variable
    echo $ligne.$i.champ.$nbChamps;
    dont j'aimerai qu'elle devienne => $ligne3champX

    avec X une autre variable.

    Sauf que je ne connais pas l'écriture exacte pour obtenir le nom de variable correcte.

    Quelqu'un à une idée?

    Si j'ai trop mal expliquez signalez le moi, c'est assez bizarre comme question :p
    [Clad], 12 Juin 2008
    #1
  2. Offline
    Tifox ou pas
    un truc comme ça ?

    PHP:

    $var1 
    'test';
    $x '1';

    $varname $var1.$x;

    $
    $varname 'coucou';

    echo 
    $test1;
    Tifox, 12 Juin 2008
    #2
  3. Offline
    eGm_ Guinea Trump
    pourquoi tu ne travaille pas avec un tableau a deux dimensions ?
    eGm_, 12 Juin 2008
    #3
  4. Offline
    [Clad] Elite
    Merci a vous deux pour vos solutions !!

    Je dois reprendre une partie de ma fonction pour l'améliorer avant de devoir faire face à ce problème (au moment où j'ai posté je ne savais pas).

    eGm_ enfaite je sus un débutant et je n'ai pas encore les bons automatismes, je cherche à faire compliqué oO

    Je vais tester les deux quand j'attaquerai a nouveau ce problème et je dirais ce qu'il en est.

    Mais c'est vrai que la solution du tableau 2D peut être assez intuitif à utiliser.

    Merci beaucoup Tifox et eGm_ :proud:
    [Clad], 13 Juin 2008
    #4
  5. Offline
    [Clad] Elite
    J'ai un petit problème, je n'arrive pas à récupérer le contenu des variables du tableau.

    Enfaite j'ai des formulaires, et la valeur du formulaire s'inscrit dans le tableau ) 2 dimensions ($valeurItem[$..][$..], ou 1dimension pour la variable $typeValeur[$...].

    Voici le code qui génère les variables:

    Et dans la deuxième partie du code j'essai de les recupérer comme ca:

    echo $_POST['typeValeurItem[0]'];
    echo $_POST['valeurItem[1][2]'];
    echo $_POST['valeurItem[1][3]'];

    :\ je n'obtient rien du tout (donc ce que je li est vide).

    Pourtant il me semble que j'écrit correctement dans mes variables car quand je fait
    print_r($_POST['valeurItem']);
    print_r($_POST['typeValeurItem']);

    j'obtient
    Array ( [1] => Array ( [1] => [2] => oui [3] => [4] => oui [5] => ) )
    Array ( [1] => 65 )

    Je ne trouve pas mon erreur?? :-s
    [Clad], 13 Juin 2008
    #5
  6. Offline
    eGm_ Guinea Trump
    echo '<td:colere:input type="radio" name="valeurItem['.$ligneItem.']['.$i.']" value="" id="" checked="checked"/> </td>';


    il ne te manque pas un truc la ?
    eGm_, 13 Juin 2008
    #6
  7. Offline
    [Clad] Elite
    Non, mais j'ai trouvé un truc un moins compliqué à utiliser

    j'ai remplacé par

    echo '<SELECT name="nbValeur['.$nbLigne.']">\n';
    echo '<OPTION VALUE="" > </option>\n';

    echo '<option value='.$typeValeur[idListeValeur].' > $m </option> ';

    echo '</select>';

    $m va de 1 à 5.

    Enfaite j'affiche 1 à 15 lignes.
    Dans ces lignes l'utilisateur doit choisir si il veux 1 à 5 champs de valeur.

    Mais je bloque toujours sur comment utiliser les array qui passent en POST
    [Clad], 13 Juin 2008
    #7
  8. Offline
    eGm_ Guinea Trump
    passer un array en post impossible car pour le php il faut que la page soit envoyée pour ajouter un élément a l'array, a moins que ce soit ce que tu veux faire. construire ton array en validant ton formulaire.

    Sinon il faut passer par du javascript
    eGm_, 13 Juin 2008
    #8
  9. Offline
    [Clad] Elite
    Argh :\
    comment je vais faire alors :beuh:

    Parceque je ne sais pas à l'avance le nombre de ligne ni le nombre de champs, donc je doit créer des variables de manière dynamique (enfin en fonction des choix de l'utilisateur).

    Je sui sun peu bloquer.

    Je n'ai pas très bien compris. J'envoi la page mais vers elle même

    Le truc c'est que j'ai bien les informations dans le ARRAY comme jele souhaite, puisque en faisant un print_r j'obtient le résultats de manière correcte.

    Enfin je suis perdu :cry:
    [Clad], 13 Juin 2008
    #9
  10. Offline
    eGm_ Guinea Trump
    ok donc c'est possible ce que tu fais, explique le déroulement. Ton problème se situe au niveau de l'array ?

    tu veux décomposer ton array pour afficher un élément précis ?
    eGm_, 13 Juin 2008
    #10
  11. Offline
    [Clad] Elite
    exactement

    enfaite par exemple l'utilisateur à chsoi d'afficher une 2 lignes. Il va déterminer maintenant pour chacune des lignes le nombre de valeur et le type de valeur.

    donc pour la ligne 1 il doit définier le nb de valeur dans la variable $valeurLigne[$n°ligne] donc $valeurLigne[1] et le type de valeur dans $typeValeurLigne[1]

    pareil pour $valeurLigne[2] et $typeValeurLigne[2]

    Après dans la page suivante je doit lui afficher le bon nombre de champ de valeur avec le bon type (tout ou rien, analogiques etc...)

    le problme est que je n'arrive pas à récupérer ce qu'il y a dans les variables

    Je fait echo $_POST['typeValeurLigne[1]']; rien ne s'affiche
    [Clad], 13 Juin 2008
    #11
  12. Offline
    ozilrit Touriste
    echo $_POST['typeValeurLigne'][1]; ?
    ozilrit, 13 Juin 2008
    #12
  13. Offline
    [Clad] Elite
    :love:

    merci mes amis codeurs :proud:

    ozilrit tu as tout bon, c'était donc bien un erreur dans l'écriture de ma récupération de variables.

    Merci eGm_ et ozilrit de vous êtres penché sur mes problèmes!
    [Clad], 13 Juin 2008
    #13
  14. Offline
    ozilrit Touriste
    De rien. :proud:
    ozilrit, 13 Juin 2008
    #14
Statut de la discussion:
Fermée.