[PHP/SQL] Concaténation de variables

Fermé
misterbonni Messages postés 9 Date d'inscription lundi 19 juin 2006 Statut Membre Dernière intervention 12 juillet 2006 - 12 juil. 2006 à 00:30
 Espritcool - 30 déc. 2007 à 02:37
Bonjour,

mon problème est simple à expliquer :

j'ai une variable $groupe qui prend en réalité autant de forme que d'enregistrement dans une table : $groupe1, $groupe2, $groupe3...

En clair s'il y a 3 enregistrements dans la table, il y a 3 variables $groupeX (où X =1,2 ou 3) et je souhaite afficher les valeurs de chacune de ces variables si ces valeurs sont différentes de "" (en fait si elles contiennent une valeur).

je souhaite donc utiliser $i pour avoir le numéro, et donc avoir $groupe suivi de $i qui s'incrémente tant que la boucle n'atteint pas le nombre total d'enregistrement.

mais si je fais echo $groupe.$i il écrit l'un a coté de l'autre les valeurs de la variable $groupe et de la variable $i.

Comment faire pour qu'il comprène que je souhaite la valeur de la variable constitué de la chaine "groupe" suivi d'un chiffre contenu dans la variable $i ??

je ne sais pas si je me suis bien expliqué, au besoin demandez moi !


merci à tous
A voir également:

4 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
12 juil. 2006 à 05:40
Salut,

Pour ça il faut utiliser les variables dynamiques.
Comme ceci : ${nom_variable}

Et nom_variable peut être n'importe quelle chaine de caractère.
Pour toi ce sera
${ 'groupe' . $i }

C'est plutôt déconseillé d'utiliser les variables dynamiques mais bon....
1
misterbonni Messages postés 9 Date d'inscription lundi 19 juin 2006 Statut Membre Dernière intervention 12 juillet 2006 6
12 juil. 2006 à 10:45
Salut Killian, merci de ta réponse !

je testerai donc avec les variables dynamiques, et si je rencontre un problème j'essaierai la solution de Darshu, merci à toi aussi pour ton aide!

Et au fait quel est le défaut des variables dynamiques ?
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
13 juil. 2006 à 02:51
Et au fait quel est le défaut des variables dynamiques ?

Ca peut rendre le code moins lisible (ça peut être difficile en lisant le code de savoir à quelle variable on se réfère).
Et tu peux parfois tomber sur une variable qui n'existe pas...
0
Je suis en train de creer mon cms est je bloqué dans la partie administration simplifier mais grace à vous ca marche

Mille merci

if ($submit=="Ajouter"){
$val1="NULL";
$bloc=$nombre_de_champ_de_la_table-1;
for($i=1; $i != $nombre_de_champ_de_la_table ; $i++){
if ($i<>"$bloc"){
$toto=${ 'champ' . $i };
//echo "$toto";
$liste1="`$toto` , ";
$liste2=$liste2.$liste1;
} else {
$toto=${ 'champ' . $i };
//echo "$toto";
$liste1="`$toto`";
$liste2=$liste2.$liste1;};

};



for($i=1; $i != $nombre_de_champ_de_la_table ; $i++){

if ($i<>"$bloc"){
$val=${ 'val' . $i };
//echo "$val";
$liste3="'$val' , ";
$liste4=$liste4.$liste3;
} else {
$val=${ 'val' . $i };
//echo "$val";
$liste3="'$val'";
$liste4=$liste4.$liste3;};

};
//echo "<br>finale = $liste2<br>";
//echo "finale = $liste4";

$insert="INSERT INTO $nom_de_la_table ($liste2) VALUES ($liste4);";
//echo "$insert";
mysql_query("$insert");



};
1
Darshu Messages postés 303 Date d'inscription lundi 30 janvier 2006 Statut Membre Dernière intervention 3 avril 2008 64
12 juil. 2006 à 09:11
Salut. Il y a également une autre méthode, c'est de faire $groupe['$i'], ça te rajoute juste une paire de crochets et ça devrait marcher, j'ai fait comme ça plusieurs fois !
0
Beaucoup plus simple les amis :


$(groupe$i)


cordialement
0