Variable dans une récupération $_POST

Fermé
Crazyrems - 24 janv. 2009 à 17:49
 toto - 24 janv. 2009 à 18:14
Bonjour,

J'ai actuellement un problème pour l'administration d'un site avec du php, probablement un problème de syntaxe.
Je dois faire un emploi du temps pour des professeurs, où ils pourront directement le retoucher de la page que je fabrique.
L'emploi du temps est présenté avec 6 jours, 9 heures par jour (sauf le samedi) et chaque jour comporte 2 champs, un champ 'classe' et un champ 'salle'. Toutes ces champs on un identifiant unique, obtenu avec des boucles for, pour l'envoi par formulaire (<input type='text' name='s35'...>). Exemple: pour la salle de la cinquième heure du troisième jour de la semaine , l'identifiant est 's35'

La base de donnée dans laquelle je dois écrire comporte une table 'edt', pour emploi du temps. Dans cette table il y a 4 collones, ihj pour identifier le jour, idh pour les heures, classe pour la classe prise en charge, et salle pour l'endroit où est assuré le cours.

Mon problème est à cette ligne:
sql_query("UPDATE `edt` SET `classe` = '".$_POST[$classe]."', `salle` = 'S12'  WHERE `idj` = '3' AND `idh` = '5'");

Cette ligne écrit, dans le tuple de la cinquième heure de la troisième journée, le contenu de $_POST[$classe] dans la colone classe et S12 dans la colone salle.

Mais $_POST[$classe] ne fonctionne que quand je met la valeur de $classe à la main (ici, $classe vaut 'c35')
Je suis obligé de passer par cette variable $classe car elle est tout le temps variante.
Je ne peux pas mettre de guillemets double car cela mettrais fin à la requette SQL.
Quel serait le moyen pour que cela fonctionne

2 réponses

Utilisateur anonyme
24 janv. 2009 à 17:52
Bonsoir,

il me semble qu'il y a un $ en trop :
$_POST['classe']
--
0
Tel que tu l'as écrit ça devrait marcher. Peux-tu ajouter or die(mysql_error()) à la fin de ta requête pour avoir une idée de l'erreur ?
As-tu fait aussi un echo $classe et un echo $_POST[$_classe] immédiatement avant ta requête pour savoir quelles valeurs elles-ont ? $classe est peut être définie ailleurs et tu l'utilises dans la fonction sans l'avoir déclarée 'global'
0

Discussions similaires