[PHP] Problème variable

Statut
N'est pas ouverte pour d'autres réponses.

[Clad]

Manipulateur de bits
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 ^^
 

Tifox

ou pas
un truc comme ça ?

PHP:
$var1 = 'test';
$x = '1';

$varname = $var1.$x;

$$varname = 'coucou';

echo $test1;
 

eGm_

Gibon Blasé
pourquoi tu ne travaille pas avec un tableau a deux dimensions ?
 
1er
OP
[Clad]

[Clad]

Manipulateur de bits
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:
 
1er
OP
[Clad]

[Clad]

Manipulateur de bits
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:

$valeurItem = array(array()) ;
$typeValeurItem = array() ;

$ligneItem=0;
while ($ligneItem!=$nbItem)
{
$ligneItem=$ligneItem+1;

$i=0;
while($i!=5)
{
$i=$i+1;
echo '<tr>';

echo '<td:colere:input type="radio" name="valeurItem['.$ligneItem.']['.$i.']" value="oui" id="oui" /> </td>';
echo '<td:colere:input type="radio" name="valeurItem['.$ligneItem.']['.$i.']" value="" id="" checked="checked"/> </td>';

if($i==1)
{
echo '<SELECT name="typeValeurItem['.$ligneItem.']">\n';
echo '<OPTION VALUE="" > </option>\n';
while ($typeValeur = mysql_fetch_array($listeTypeValeur))
{
echo '<option value='.$typeValeur[idListeValeur].' > '.$typeValeur[valeur1].' </option> ';
}
echo '</select>';
}

echo '</tr>';
}

}
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
 

eGm_

Gibon Blasé
echo '<td:colere:input type="radio" name="valeurItem['.$ligneItem.']['.$i.']" value="" id="" checked="checked"/> </td>';


il ne te manque pas un truc la ?
 
1er
OP
[Clad]

[Clad]

Manipulateur de bits
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
 

eGm_

Gibon Blasé
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
 
1er
OP
[Clad]

[Clad]

Manipulateur de bits
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.

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.
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:
 

eGm_

Gibon Blasé
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 ?
 
1er
OP
[Clad]

[Clad]

Manipulateur de bits
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
 
1er
OP
[Clad]

[Clad]

Manipulateur de bits
: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!
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut