Concatenation de deux variables.

Signaler
Messages postés
324
Date d'inscription
dimanche 12 août 2007
Statut
Membre
Dernière intervention
26 août 2011
-
Messages postés
91
Date d'inscription
mercredi 15 novembre 2006
Statut
Membre
Dernière intervention
25 juillet 2011
-
bonjour a tous,
voici un bout du code d'une application sur laque je travaille:

$i=1;
while ($i<=6)
 {
   $sql = " insert into COLIS values ('',  '$desi$i', '$qte$i','$pd$i', '$prix$i', '$codeexpedition') ";
   $rep=requette_sql($sql);
   $i=$i+1;
 }


en realité a chaque insertion dans la base de donnees, on doit avoir quelque chose coe ça :
" insert into COLIS values('', $desi1, $qte1, $pd1, $prix1, $codeexpedition) ainsi de suite jusqu'a ('', $desi6, $qte6, $pd6, $prix6, $codeexpedition) ou $desi, $qte, $pd, $prix, $codeexpedition sont en realite des variables donc le contenu change en fonction des indices.
mon probleme est que apres l'enregistrement, dans ma base de donnees les valeurs de ces champs sont toujours et dans l'ordre :1, 2, 3, 4, 5, 6,.
je pense  que le probleme vient de la syntaxe :
  $sql = " insert into COLIS values ('',  '$desi$i', '$qte$i','$pd$i', '$prix$i', '$codeexpedition') ";

comment est que je peux la corriger ? j'ai essayé '$desi.$i' ça n'a pas marche

merci de votre aide.
cordialement

5 réponses

Messages postés
338
Date d'inscription
samedi 3 février 2007
Statut
Membre
Dernière intervention
4 janvier 2011

Bonjour, pas super top ta syntaxe...

En principe on évite les "$blabla" ça prend du temps c'est pas sécurisé etc...

Donc tu devrais plutôt faire du 'INSERT.... ("", '.$desi.$i.'

Et si possible en échappant les variables que tu envoie a ta base mais ça c'est un autre chapitre...
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Salut,

Ceci devrait t'aider :

$desi = 'machin';
$i = 3;
$machin3 = 'trucmuche';

echo $desi.$i; // machin3
echo ${$desi.$i}; // trucmuche

Cordialement,

Kohntark -
Messages postés
91
Date d'inscription
mercredi 15 novembre 2006
Statut
Membre
Dernière intervention
25 juillet 2011

@cyrilherve -> salut frangin ravi de savoir qu'un des notres se bat
a propos de ton probleme ya plusieurs solutions voici une corection de ton code


$i=1;
while ($i<=6)
 {
   
   $desin=${$desi.$i};
   $qten=${$qte.$i};
   $pdn=${$pd.$i};
   $prixn=${$prix.$i};
   
   $sql = " insert into COLIS values ('',  '$desin', '$qten','$pdn', '$prixn', '$codeexpedition') ";
   $rep=requette_sql($sql);
   $i=$i+1;
 }
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Salut Marcelolipi,

Ce qui serait encore mieux c'est d'avoir un retour; savoir si l'on a correctement répondu à la question, et pourquoi pas un ti merci pour le temps que l'on a pris à y répondre ... mais bon

Cordialement,

Kohntark -
Messages postés
91
Date d'inscription
mercredi 15 novembre 2006
Statut
Membre
Dernière intervention
25 juillet 2011

Salut Kohntark

Oui normalement il faudrait qu'il nous mette au courant de son evolution,qu'il nous fasse savoir si oui ou non notre temps mis a essayr de trouver une solution a son probleme a été util ou non .

je pense qu'il a due trouver une solution et a carément oublié le ti merci comme Kohntark l'a souligné

@cyrilherve -> nous attendons ta réaction .