Ajout la valeur d une liste deroulante

Résolu/Fermé
nita2006 Messages postés 79 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 31 juillet 2008 - 17 juin 2008 à 08:38
nita2006 Messages postés 79 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 31 juillet 2008 - 17 juin 2008 à 10:11
Bonjour,
En fait j'ai un petit souci par rapport à l'envoi du formulaire
j'ai un formulaire avec des champs et une liste déroulante (la liste déroulante contient deja des valeurs que j'ai récupéré de ma table de bdd) , bref , je veux envoyer les données que je saisi dans mon formulaire dans la table de ma bdd , ca j'ai su faire , par contre ce qui m'est compliqué c 'est d'envoyer la valeur qui est dans ma liste deroulante et la mettre dans la meme table que celle des données su formulaire .
je vous donne le code du fichier php qui permet l'envoi .

if(isset($_POST['probleme'])) $probleme=$_POST['probleme'];
else $probleme="";

if(isset($_POST['commentaire'])) $commentaire=$_POST['commentaire'];
else $commentaire="";

connexion à la base*/
$db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
// sélection de la base

mysql_select_db('p2i',$db) or die('Erreur de selection '.mysql_error());

$sql = "INSERT INTO interventions(probleme, commentaire) VALUES('$probleme','$commentaire')";

// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

header('location:./formulaire.php');
die();
// on affiche le résultat pour le visiteur
//echo 'Vos infos on été ajoutées.';

mysql_close(); // on ferme la connexion
//}
?>

aidez moi svp je suis bloquée dessus

4 réponses

systemfailure
17 juin 2008 à 08:59
Bonjour,
un liste déroulante marche pareil que les autres données du formulaire:
Elle doit donc être dans le <form>, avoir un NAME pour l'envoi POST et une VALUE pour chaque affichage de la liste déroulante:


<SELECT name="deroul" >
<OPTION VALUE="<?php echo='10'; ?>"><?php echo='10'; ?>
<OPTION VALUE="<?php echo='20'; ?>"><?php echo='20'; ?>
<OPTION VALUE="<?php echo='mardi'; ?>"><?php echo='mardi'; ?>
<OPTION VALUE="<?php echo='choucroute'; ?>"><?php echo='choucroute'; ?>
</SELECT>

Une fois les données envoyées en POST vers le script php chargé de l'insertion ça devrait marcher pour l'insertion en SQL, bien sûr il faut que le champ de la table existe déjà.
0
Utilisateur anonyme
17 juin 2008 à 09:27
ce n'est pas trés optimisé de passer sans arret de HTML a PHP
<?php
echo '< SELECT name="deroul" >
<OPTION VALUE="10'>10
<OPTION VALUE="20">20
<OPTION VALUE="mardi">mardi
<OPTION VALUE="choucroute">choucroute
</SELECT>';
?>
je viens de me rendre compte qu il n y a aucune raison de mettre du PHP en le réécrivant
0
nita2006 Messages postés 79 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 31 juillet 2008 13
17 juin 2008 à 09:08
Merci pour ta reponse j'aime bien que c'est vite fait :D
Ce que je comprend de ton code c 'est que tu choisi les valeurs de ta liste alors que moi les valeurs de la liste elles y sont deja , comme dis ton mon premier message j ai deja créeé une table "type_prob" dans ma bdd "p2i" , ma liste deroulante contient les valeurs de la table "type_prob" , une fois je suis dans le formulaire ,je dois chosir une valeur de ma liste (pleyel,bobigny,rosny..) , saisir le champ probleme et commentaire , et puis valider l'ajout .
le champ de la table existe deja :)
0
nita2006 Messages postés 79 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 31 juillet 2008 13
17 juin 2008 à 09:34
Non excuses , mais c'est pas ce que je cherche , en fait la ce que t'as fais la c'est que tu forces ta liste a avoir des valeurs que tu lui precises (10 , 20 ..)
la comme je l'ai dis precedemment , ma liste contient les valeur une table de ma bdd ..!!!
:(
0
nita2006 Messages postés 79 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 31 juillet 2008 13
17 juin 2008 à 10:10
c'est bon j'ai reglé mon probleme merci kan memle
0
nita2006 Messages postés 79 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 31 juillet 2008 13
17 juin 2008 à 10:11
je donn le code pour ceux qui osnt dans la meme merde ke moi
<?php
// On commence par récupérer les champs
if(isset($_POST['type'])) $type=$_POST['type'];
else $type="";

if(isset($_POST['nom'])) $nom=$_POST['nom'];
else $nom="";

if(isset($_POST['prenom'])) $prenom=$_POST['prenom'];
else $prenom="";

if(isset($_POST['num_uc'])) $num_uc=$_POST['num_uc'];
else $num_uc="";

if(isset($_POST['tel'])) $tel=$_POST['tel'];
else $tel="";

if(isset($_POST['site'])) $site=$_POST['site'];
else $site="";

if(isset($_POST['probleme'])) $probleme=$_POST['probleme'];
else $probleme="";

if(isset($_POST['commentaire'])) $commentaire=$_POST['commentaire'];
else $commentaire="";

/*connexion à la base*/
$db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
// sélection de la base

mysql_select_db('p2i',$db) or die('Erreur de selection '.mysql_error());

// on écrit la requête sql
$sql = "INSERT INTO interventions(type, nom, prenom,num_uc ,tel,site, probleme, commentaire) VALUES('$type','$nom','$prenom','$num_uc','$tel','$site', '$probleme','$commentaire')";

// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

header('location:./formulaire.php');
die();
// on affiche le résultat pour le visiteur
//echo 'Vos infos on été ajoutées.';

mysql_close(); // on ferme la connexion
//}
?>
0