jokerman Posté 17 Septembre 2006 Posté 17 Septembre 2006 Bonjour à tous, voici mon probleme : j'ai une fonction qui génere un formulaire, qui contient plusieurs menus déroulants, je dois enregistrer le resultat dans une base mysql : les tables : type_criteres :-------------------id_type_critere (key)titreactivercriteres :-------------------id_critere (key)id_type_criterevaleuractiver exemple de données : type_criteres : ------------------- 1 | couleur | 1 2 | taille | 1 criteres : ------------------- 1 | 1 | rouge | 1 2 | 1 | vert | 1 3 | 2 | XL | 1 la fonction : function Make_Criteria_Form($type_criteres,$criteres_Tbl){$sql = "SELECT * FROM $type_criteres WHERE activer=1 ORDER BY id_type_critere ASC";$result = mysql_query($sql) or die(mysql_error());$total_row_type_critere = mysql_num_rows($result);$form ="";$form .="<table> \n"; if($total_row_type_critere>0){ while($row_type_critere = mysql_fetch_assoc($result)){ $form .="<tr><td> \n"; $form .= $row_type_critere["titre"]." : ";$form .="</td><td> \n"; $sql_criteria = "SELECT * FROM $criteres_Tbl WHERE id_type_critere='".$row_type_critere["id_type_critere"]."' AND activer=1 ORDER BY valeur ASC"; $result_criteria = mysql_query($sql_criteria) or die(mysql_error()); $total_row_criteria = mysql_num_rows($result_criteria); if($total_row_criteria>0){ $form .="<select name=\"".$row_type_critere["id_type_critere"]."\"> \n"; $form .="<option selected>Choisir</option> \n"; while($row_criteria = mysql_fetch_assoc($result_criteria)){ $form .="<option value=\"".$row_criteria["id_critere"]."\">".$row_criteria["valeur"]."</option> \n"; } $form .="</select> \n"; } $form .="</td></tr> \n"; } }$form .="</table> \n";return $form;} l'affichage du formulaire : <form name="form1" method="post" action=""><?php echo Make_Criteria_Form($Type_Criteres_Tbl,$Criteres_Tbl); ?><input type="submit" name="Submit" value="Submit"><input type="hidden" name="act" value="PostForm"></form> foreach($_POST as $key=>$val){echo 'POST : '.$key.'=>'.$val.'<br>';} me donne : POST : 1=>1POST : 2=>3POST : 3=>5 ce qui est correct comme resultat. que dois-je faire pour récupere le résultat du formulaire, et le stocker dans ma base de donnée ?
georges Posté 17 Septembre 2006 Posté 17 Septembre 2006 salut, et bien avant tout, avant même de recopier scolairement des fonctions trouvées ici et là, apprendre le php et le (my)sql... de très bons sites pour ça : http://www.phpdebutant.org/ , http://www.phpfacile.com/
jokerman Posté 17 Septembre 2006 Auteur Posté 17 Septembre 2006 (modifié) ha ha mdr ... c'est ma fonction, je fais deja l'enregistrement, je cherche juste a le faire proprement foreach($_POST as $key=>$val){ if( (is_numeric($key)) && (is_numeric($val)) ){ $sql = "INSERT INTO $produits_critere_Tbl SET id_type_critere='".$key."', id_critere='".$val."', id_produit='".$_POST["id_produit"]."', activer='1'"; mysql_query($sql) or die(mysql_error()); }} ... Modifié 17 Septembre 2006 par jokerman
jokerman Posté 17 Septembre 2006 Auteur Posté 17 Septembre 2006 Je reformule ma question : comment récuperer le résultat du formulaire sans passer par foreach $_POST, en effet j'ai d'autres variables dans mon formulaire, envoyées aussi en POST, que je dois enregistrer dans une table differente (produits).
georges Posté 18 Septembre 2006 Posté 18 Septembre 2006 (modifié) et bien tu peux par exemple, ajouter un suffixe particulier aux noms des champs que tu ajoutes dynamiquement aux produits et vérifier lors de ta boucle pour l'insertion si ce suffixe est présent ou pas... Modifié 18 Septembre 2006 par georges
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant