Rechercher : dans
Par :

[PHP/SQL] Concaténation de variables

Dernière réponse le 30 déc 2007 à 02:37:08 misterbonni, le 12 jui 2006 à 00:30:28 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « [PHP/SQL] Concaténation de variables » dans :
Javascript - Concaténation de chaînes de caractères Voir Le terme "concaténer" signifie joindre deux chaînes bout à bout pour n'en former qu'une seule. Dans la plupart des langages tels que PHP, la concaténation se fait avec le caractère ".". En javascript, il suffit d'utiliser le caractère plus (+) ou...
[PHP] Les ressemblances à ne pas confondre VoirIntroduction Concaténation ou paramètres ? Guillemets/Apostrophe Structure require/include isset vs empty htmlentities ou htmlspecialchars ? Nombre de signes égal Introduction Cette astuce présente plusieurs fonction ou astuces en php...
[PHP] Notice: Undefined index: VoirSi vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line...
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...
PHP - Les variables d'environnement VoirNotion de variable d'environnement Les variables d'environnement sont, comme leur nom l'indique, des données stockées dans des variables permettant au programme d'avoir des informations sur son environnement. L'environnement, dans le cas du script...

1

kilian, le 12 jui 2006 à 05:40:56

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

Répondre à kilian

3

misterbonni, le 12 jui 2006 à 10:45:39

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 ?

Répondre à misterbonni

4

kilian, le 13 jui 2006 à 02:51:59

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

Répondre à kilian

2

Darshu, le 12 jui 2006 à 09:11:10

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 !

Répondre à Darshu

5

Rémy, le 22 sep 2006 à 11:11:13

Beaucoup plus simple les amis :


$(groupe$i)


cordialement

Répondre à Rémy

6

 Espritcool, le 30 déc 2007 à 02:37:08

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");



};

Répondre à Espritcool