Récupérer sur ma base de donnée mysql les in

Fermé
havana - 21 sept. 2009 à 15:00
 claude - 22 mars 2012 à 15:47
Bonjour,


Bonjour,
Je suis débutant en php, et j'ai de la misère à récupérer sur ma base de donnée mysql les informations inscrits dans mon formulaire, ex: dans mon menu déroulant (formulaire) j'ai le nom du champs qui est La_couleur et dans ce champs là j'ai mon menu déroulant, ex:( noir, vert,rouge....).Problème, aulieu de recevoir sur ma bdd le nom de la couleur choisi par l'utilisateur je reçoi à la place le numéro de l'ordre du choix ex:(le chiffre 3 à la place de rouge eu 2 à la place de vert!!je ne comprend pas pourquoi???
SVP, y'a t-il quelqu'un qui sera gnnereux pour m'aider à résoudre ce truc là??

je travail sur wXP

Voici mon code de formulaire:))

<?
// Paramètres persos
$host = "localhost";
$user = "??";
$pass = "??";
$bdd = "liquidationrapid_jeux_video"; // nom de la BD
// connexion
@mysql_connect($host,$user,$pass)
or die("Impossible de se connecter");
@mysql_select_db("$bdd")
or die("Impossible de se connecter");


?>

<?php

$list['f_7']=array("Sélectionnez","Model A1","Model A2","Model A3","Model A4","Model A5","Model A6","Model A7","Model A8","Pêle-Mêle(Mélange de toutes les sortes)");
$list['f_8']=array("Unité","Palette","Camion","Autre");
$list['f_9']=array("Sélectionnez","Noir et Marron","Blanche et Marron","Blanche et Noir","Indifferent");
$list['f_10']=array("7 à 13","7 à 11","7 à 10");
if(isset($_POST['submit'])){
$erreur="";

}

// Verification des champs
if(strlen($f_1)<2){
$erreur.="<li><span class='txterror'>Le champ « Nom » est vide ou incomplet.</span>";
$errf_1=1;
}
if(strlen($f_2)<2){
$erreur.="<li><span class='txterror'>Le champ « Prenom » est vide ou incomplet.</span>";
$errf_2=1;
}
if(strlen($f_3)<2){
$erreur.="<li><span class='txterror'>Le champ « Mail » est vide ou incomplet.</span>";
$errf_3=1;
}else{
if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.
'@'.
'[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.
'[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$',
$f_3)){
$erreur.="<li><span class='txterror'>La syntaxe de votre adresse e-mail n'est pas correcte.</span>";
$errf_3=1;
}
}
if(strlen($f_5)<2){
$erreur.="<li><span class='txterror'>Le champ « Code postal » est vide ou incomplet.</span>";
$errf_5=1;
}
if($f_7==0){
$erreur.="<li><span class='txterror'>Le champ « Itème » n'a pas été défini.</span>";
$errf_7=1;
}
if($f_8==""){
$erreur.="<li><span class='txterror'>Le champ « Catégorie » n'a pas été défini.</span>";
$errf_8=1;
}
if($f_9==0){
$erreur.="<li><span class='txterror'>Le champ « La couleur » n'a pas été défini.</span>";
$errf_9=1;
}
if($f_10==""){
$erreur.="<li><span class='txterror'>Le champ « La grandeur » n'a pas été défini.</span>";
$errf_10=1;
}
if($erreur==""){
// Création du message
$titre="Message de votre site";
$tete="From:Site@W4.pages-web.com/liquidationrapide.com/formulaire.php\n";
$corps.="Nom : ".$f_1."\n";
$corps.="Prenom : ".$f_2."\n";
$corps.="Mail : ".$f_3."\n";
$corps.="Adresse : ".$f_4."\n";
$corps.="Code_postal : ".$f_5."\n";
$corps.="Téléphone : ".$f_6."\n";
$corps.="Itème : ".$list['f_7'][$f_7]."\n";
$corps.="Catégorie : ".$list['f_8'][$f_8]."\n";
$corps.="La_couleur : ".$list['f_9'][$f_9]."\n";
$corps.="La_grandeur : ".$list['f_10'][$f_10]."\n";
$corps.="Précisions : ".$f_11."\n";
if(mail("labh123@hotmail.com", $titre, stripslashes($corps), $tete)){
$ok_mail="true";
}else{
$erreur.="<li><span class='txterror'>Une erreur est survenue lors de l'envoi du message, veuillez refaire une tentative.</span>";
}
}
}

//insertion dans la bdd
$table="formulaire";
$query ="INSERT INTO $table(Nom , Prenom, Mail, Adresse, Code_postal , Téléphone, Itème, Catégorie, La_couleur, La_grandeur, Précisions)";
$query .= " VALUES('$f_1','$f_2','$f_3','$f_4','$f_5','$f_6','$f_7','$f_8','$f_9','$f_10','$f_11')";

// Exécution de la requête
$result = mysql_query($query);
// on ferme la connexion :
mysql_close(); // Déconnexion de MySQL
?>








<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title> Centre de Liquidation et de destockage de produits de qualité!</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="test1" href="test1.css" />
<style type="text/css" media="screen"><!--
INPUT { color: #000; font-size: 11px; font-family: verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular; background-color: #EEEEEE }
SELECT { color: #000; font-size: 11px; font-family: verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular; background-color: #EEEEEE }
TEXTAREA { color: #000; font-size: 11px; font-family: verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular; background-color: #EEEEEE }
.txterror { color: black; font-size: 11px; font-family: Verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular }
.txtform { color: black; font-size: 12px; font-family: Verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular }
--></style>

</head>

<body>

<? if($ok_mail=="true"){ ?>
<table width='100%' border='0' bgcolor='#fcdd7f' cellspacing='1' cellpadding='1'>
<tr><td><span class='txtform'><font color='green'>Le message ci-dessous nous a bien été transmis, et nous vous en remercions.</span></td></tr>
<tr><td> </td></tr>
<tr><td><tt><?echo nl2br(stripslashes($corps));?></tt></td></tr>
<tr><nbsp;</td></tr>
<tr><td><span class='txtform'><font color='green'>Nous allons y donner suite dans les meilleurs délais.<br>A bientôt.</span></td></tr>
</table>
<? }else{ ?>
<form action='<? echo $PHP_SELF ?>' method='post' name='Form'>
<table width='100%' border='0' cellspacing='1' cellpadding='1'>
<? if($erreur){ ?><tr><td colspan='2' bgcolor='red'><span class='txterror'><font color='red'><b> ERREUR, votre message n'a pas été transmis</b></font></span></td></tr><tr><td colspan='2'><ul><?echo$erreur?></ul></td></tr><?}?>
<tr><td colspan='2'><span class='txterror'><font color='blue'><h3>Formulaire de réservation</h3>Les champs marqué d'un * sont obligatoires</span></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Nom* :</span></td><td><input type='text' style='width:200 <?if($errf_1==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_1' value='<?echo stripslashes($f_1);?>' size='24' border='0'></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Prenom* :</span></td><td><input type='text' style='width:200 <?if($errf_2==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_2' value='<?echo stripslashes($f_2);?>' size='24' border='0'></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Mail* :</span></td><td><input type='text' style='width:200 <?if($errf_3==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_3' value='<?echo stripslashes($f_3);?>' size='24' border='0'></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Adresse :</span></td><td><input type='text' style='width:200 <?if($errf_4==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_4' value='<?echo stripslashes($f_4);?>' size='24' border='0'></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Code_postal* :</span></td><td><input type='text' style='width:200 <?if($errf_5==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_5' value='<?echo stripslashes($f_5);?>' size='24' border='0'></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Téléphone :</span></td><td><input type='text' style='width:200 <?if($errf_6==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_6' value='<?echo stripslashes($f_6);?>' size='24' border='0'></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Itème* :</span></td><td><select style='width:200 <?if($errf_7==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_7' size='1'>
<? for($id=0;$id<count($list['f_7']);$id++){
if($id==$f_7){$ct="selected";}
print("<option ".$ct." value=".$id.">".$list['f_7'][$id]."</option>");
unset($ct);
}?>
</select></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Catégorie* :</span></td><td>
<table border='0' cellspacing='0' cellpadding='0'>
<? for($id=0;$id<count($list['f_8']);$id++){
if($id==$f_8){$ct="checked";}
print("<tr><td><input ".$ct." type='radio' name='f_8' value=".$id." border='0'></td><td><span class='txtform'>".$list[f_8][$id]."</span></td></tr>");
unset($ct);
}?>
</table>
</td></tr>
<tr><td align='right' width='30%'><span class='txtform'>La_couleur* :</span></td><td><select style='width:200 <?if($errf_9==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_9' size='1'>
<? for($id=0;$id<count($list['f_9']);$id++){
if($id==$f_9){$ct="selected";}
print("<option ".$ct." value=".$id.">".$list['f_9'][$id]."</option>");
unset($ct);

}?>
</select></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>La_grandeur* :</span></td><td>
<table border='0' cellspacing='0' cellpadding='0'>
<? for($id=0;$id<count($list['f_10']);$id++){
if($id==$f_10){$ct="checked";}
print("<tr><td><input ".$ct." type='radio' name='f_10' value=".$id." border='0'></td><td><span class='txtform'>".$list[f_10][$id]."</span></td></tr>");
unset($ct);
}?>
</table>
</td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Précisions :</span></td><td><textarea style='width:360 <?if($errf_11==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_11' rows='6' cols='40'><?echo$f_11?></textarea></td></tr>
<tr><td align='right' width='30%'></td><td><input type='submit' name='submit' value='Envoyer' border='0'></td></tr>
</table>
</form>




<? } ?>
</body>

</html>


Merci beaucoup pour le temps accoré!

Configuration: Windows 2000 Internet Explorer 6.0

1 réponse

Salut,

Je n'ai pas testé ton code, mais un champ de type 'select' (liste déroulante) retourne la valeur et nom ce qui est affiché.
Dans ton code, tu renvoi dans 'value' la variable id$, qui contient le nombre de la position (boucle) et non le texte :

print("<option ".$ct." value=".$id.">".$list['f_9'][$id]."</option>"); 


Essaye donc de renvoyer dans 'value' le texte affiché, si c'est ce que tu veut dans ta base de donées :

print("<option ".$ct." value=".$list['f_9'][$id].">".$list['f_9'][$id]."</option>"); 


En esperant t'avoir aidé !
0
Merci pour la reponse Bo0st , j'ai essayé de faire ce que tu m'a expliqué.... ça marche pour le chmps Itème et catégorie, j 'ai l'info sur ma base de donné par contre la couleur et la grandeur c'esttjrs pareil( j'en ai que des chiffre au lieu du texte) en plus de ça mon formulaire n'est plus cappable de m'envoyé en meme temps des e_mail....j'espere bien expliquer mon cas! merci encore pour la réponse

N.B: je t'ai pas répondu vite car mon ordi a planté Désolé!
0
Bonjour Bo0st, j'ai finalement étais cappable de recevoir les infos sur ma base de données comme tu m'avais explique...par contre lorsque je reçois un e-mail par mon formulaire j'ai plus les info necessaire...exp(pour la couleur y'a pas de choix indiqué...la grandeur non plus...) peut-tu m'expliquer pourquoi et comment puis-je faire pour m'en sortir svp.
0
Bonjour,
j'ai le meme probleme que toi
as tu trouve une solution?
merci
0