2010-07-23 3 views
0

Je suis nouveau ici et gentil nouveau à PHP et je ne sais pas pourquoi cela ne fonctionne pas. Si je echo $ordernum1, j'obtiens la valeur que je recherche, mais l'écho echo ${"ordernum".$x}; ne me donne rien.concaténation de deux variables en une seule

J'ai également fait écho $attempts et j'ai la valeur que je recherche. Toute aide serait grand merci

$update=$_POST['update']; //echo $update; 
$attempts=$_POST['attempts'];//echo $attempts; 

if($update==2){ 
    for($x=0; $x<=$attempts; $x++){ 
     ${"ordernum".$x} = $POST["ordernum".$x.""]; echo ${"ordernum".$x}; 
     $query="UPDATE OrderTrack 
     SET applicationID='--junk($appid)' 
     WHERE OrderNum='".${"ordernum".$x}."'"; 
    } 
} 
+0

ne me dérange pas je l'ai eu pour travailler j'ai écrit $ post et pas $ _post stupide – mike

+0

Je pense que cela pourrait vous aider: http://php.net/faq.html – Gumbo

+0

je me demande parfois pourquoi les gens ne savent pas (ou Je ne veux pas savoir (ou juste détester (sans raison))) tableaux ... – oezi

Répondre

1

Juste NumCommande $. X $ est tout ce qui est nécessaire pour ajouter un var à un autre

4

Vous avez manqué _ dans

${"ordernum".$x} = $_POST["ordernum".$x.""]; 
      here --^ 
1

Essayez

$update = $_POST['update']; //echo $update; $attempts=$_POST['attempts'];//echo $attempts; 

if ($update == 2) { 
    for ($x = 0; $x <= $attempts; $x++) { 
    $ordernum = $_POST["ordernum" . $x]; 
    echo $ordernum; 
    $query = "UPDATE OrderTrack SET applicationID='--junk($appid)' WHERE OrderNum = '$ordernum'"; 
    } 
} 

Vous n'avez pas besoin de définir une nouvelle variable dans la boucle, vous pouvez simplement réutiliser le $ ordernum

Hope this helps

Luke

0

Je ne pollue pas votre portée locale avec des tonnes de variables connexes comme celui-ci ... Créer un tableau pour stocker cette information

$ordernums = array(); 
if($update==2){ 
    for($x=0; $x<=$attempts; $x++){ 
     $ordernums[$x] = $_POST["ordernum".$x.""]; 

Sans parler que vous avez une vulnérabilité massive d'injection SQL là-bas. Vous devez échapper tous les varaibles en utilisant quelque chose comme mysql_real_escape_string() ou mysqli::real_escape_string(). Ou utilisez une requête paramétrée (qui est la meilleure alternative).

+0

votre idée de tableau il semble et semble vraiment propre, mais pour être honnête je n'ai aucune idée whay une vulnérabilité massive d'injection SQL im encore assez nouveau à la fois SQL et PHP – mike

+0

est-ce que array() appelle tous mes $ _POST ['ordernums'] ou appelle-t-il chaque $ _POST? – mike

+0

donc j'ai mis en place le tableau() et il accélère mon code jusqu'à énormément merci beaucoup! – mike

Questions connexes