PHP : problème de 'parse'

Résolu
Sarjaky Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
Sarjaky Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, on m'affiche

Parse error: syntax error, unexpected T_VARIABLE, expecting ']'

au niveau de ma requête. (Je vous épargne le reste de la page.) J'imagine de l'erreur est au niveau de

test_r$i='$_POST[test_r$i]'

car je dois avouer ne pas trop comprendre ce que je dois mettre comme guillemets ou autre...

$num_of_fields = 5; 

    for($i=1; $i<=$num_of_fields; $i++){
        mysql_query("UPDATE $mysql_tablename SET test_r$i='$_POST[test_r$i]' WHERE FName='$FName' AND Lname='$Lname'") or die ('Error updating db');
		echo '<br>';
		echo $_POST['test_r'.$i.''];
    }


L'info est bien acheminée à partir d'un formulaire en boucle, puisque je suis capable d'afficher ces variables au-dessous, tel que commandé par la var $_POST.

Merci!
A voir également:

2 réponses

Utilisateur anonyme
 
Bonjour

Ça devrait mieux marcher comme ça :
"UPDATE $mysql_tablename SET test_r$i='${_POST['test_r'.$i]}' WHERE FName='$FName' AND Lname='$Lname'";

Tu aurais pu calculer $x='test_r'.$i avant et te retrouver avec un simple $x dans ta requête, tu n'aurais pas eu ce problème.

Entre nous, tu te compliques à fabriquer des noms de variables en concaténant des indices au bout du nom, autant utiliser des tableaux...
1
Sarjaky Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour l'ajout de { }.

Que veux-tu dire par des tableaux? J'en suis encore à mes débuts (et en anglais, le jargon en français est encore nouveau), laisse-moi une piste et je me lance là-dedans. Merci!

J'essaie de UPDATE environs 75 champs dans un formulaire, voilà pourquoi je voulais les numéroter.
0
Utilisateur anonyme
 
Au lieu d'appeler tes champs de formulaire test_r1, test_r2, etc, appelle-les test_r[1],tes_r[2], etc..
Tu les récupères dans $_POST['test_r'][1],$_POST['test_r'][2]...
Ça n'est pas fondamentalement différent, mais en pratique c'et plus facile à manier.
Et rassure-moi, tu ne demandes pas de remplir 75 champs en un seul formulaire ? Bonjour l'ergonomie...
1
Sarjaky Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Super, merci, je me lance sur cette piste. Pour l'instant je suis sur un échéancier, alors je vais m'assurer que tout fonctionne et ensuite j'essaierai de rendre le code plus beau, plus flexible.

Et pour ce qui est de l'ergonomie, je te rassure, ce ne sont pas 75 champs à remplir d'un coup : la valeur de chaque champ est en fait la valeur inscrite dans le champ correspondant de ma base de données, alors l'utilisateur ne complète que quelques champs à la fois avant de soumettre son formulaire et peut revenir dessus tant qu'il le veut. Éventuellement je scinderai les questions en plusieurs pages, mais comme je l'ai dit, je suis sur un échéancier alors une fois que ça fonctionnera, je travaillerai sur l'esthétique.
0