siriu Posté 8 Février 2011 Partager Posté 8 Février 2011 Bonjour, Mon problème concerne un formulaire qui va contenir de nombreux champs de type texte. Le nombre de champs ne sera pas identique a chaque chargement de ce formulaire, car les champs proviennent d'une base de données et dépendent de paramètres. Comment faire donc pour pouvoir sauvegarder les champs après l'envoi en POST de ce formulaire, sachant que je ne connais pas le nombre de champs qu'il renverra à chaque fois ? Merci d'avance pour votre aide Lien vers le commentaire Partager sur d’autres sites More sharing options...
Patrick Posté 8 Février 2011 Partager Posté 8 Février 2011 Salut, Une solution simple (mais ni la meilleure ni encore la plus optimisée...) consisterait à sauvegarder tous les champs à chaque fois. Les champs non nécessaire selon les paramètres pourraient recevoir un attribut hidden et une value NULL afin de ne pas être visible et de ne pas retourner d'erreur. Bien sur l'idéal serait de générer à la volée les champs strictement nécessaires (et conserver ces champs d'un façon ou d'une autre , session, etc.) et de construire ta requête d'enregistrement en base de données selon les paramètres conservés. ++ Patrick Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ernestine Posté 9 Février 2011 Partager Posté 9 Février 2011 Salut, Tu peux aussi faire une boucle sur la variable $_POST, car ce n'est qu'un tableau comme un autre. Attribuer un name similaire (même préfixe) à chaque input, puis récupérer leur valeur dans une boucle. Par exemple les inputs du formulaire peuvent se présenter ainsi (en nombre indéterminé) : <input type="text" name="champ_1" /><input type="text" name="champ_2" /><input type="text" name="champ_3" /> Ensuite, dans le traitement du formulaire, tu fais : foreach($_POST AS $parametre => $valeur) { if(substr($parametre,0,5)=='champ') { // Code de traitement }} Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant