Formulaire avec select et update de bdd mysql

arnold002 Messages postés 121 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 5 mars 2007 - 30 avril 2005 à 10:56
arnold002 Messages postés 121 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 5 mars 2007 - 30 avril 2005 à 11:51
Bonjour à tous,

J'ai un formulaire qui contient 2 champs de type select : classe et annee.
Je veux associer chaque classe à chaque année et ensuite faire un update dans une base mysql
Voici le code


<form name"inscription" action"" method= "POST" enctype ="multipart/form-data">
<?php

$min = 1990;
$max = 2005;
for (
$i =$min ; $i <= $max ; $i++)
{
echo(
'<select name ="classe" style= "font-size: 10px;">' );
echo (
'<option value ="BEP1">BEP1</option>');
echo(
'<option value= "BEP2">BEP2</option>');
echo (
'<option value ="2BTN">2BTN</option>' );
echo(
'<option value = "1BTN">1BTN</option>');
echo (
'<option value = "1BPR">1BPR</option>');
echo(
'<option value= "TBTN">TBTN</option>' );
echo (
'<option value ="TBPR">TBPR</option>');
echo(
'<option value= "MAN">MAN</option>');
echo (
'<option value ="BTS1">BTS1</option>' );
echo(
'<option value = "BTS2">BTS2</option>');
echo (
'</select>');

echo(
"<select name = '".$i. "' style= "font-size: 10px;">" );
echo (
"<option value ='".$i."'>".$i."</option>");
echo(
'</select>');
echo(
'
');
}
?>


</form>

ensuite ma requête


$sql ( "UPDATE lh_classe SET $i '".$classe."' WHERE id= '5'");
$req = mysql_query($sql) or die( mysql_error() ) ;

petite précision :
ma table lh_classe contient un champ id unique, tous les autres champs ont comme nom une année entre 1990 et 2005
Lorsque je valide le form le champ classe reste identique pour toutes les années .
Comment donner un nom différent au select classe pour chaque année ?
A voir également:

2 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
30 avril 2005 à 11:20
Hello,

utilise un tableau : classe[] ou classe[$i] pour avoir en plus l'annee.
0
arnold002 Messages postés 121 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 5 mars 2007
30 avril 2005 à 11:51
Merci de ta réponse.

J'ai fait quelques modifs :
sur la requête

for($i$min ; <gras>$i <</gras> $max ; $i++)
{$sql ( "UPDATE lh_classe SET $i '".$classe[0]."' WHERE id= '5'");
$req = mysql_query($sql) or die( mysql_error() ) ;
}

sur le formulaire


echo(
'<select name="classe[]" style="font-size: 10px;">' );

Voila le résultat
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '1994 ='2BTN' WHERE id='5'' at line 1
ca m'affiche bien la valeur de la 1ère année (1994) associée à la valeur de la classe choisie (2BTN) mais ca ne fait pas une boucle pour toutes les années, encore moins l'insert dans la bdd à cause de l'erreur de syntaxe.
0
Rejoignez-nous