Formulaire HTML : besoin d'aide
pontarose
-
Dalida Messages postés 6728 Date d'inscription Statut Contributeur Dernière intervention -
Dalida Messages postés 6728 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Voilà, j'ai un formulaire avec des boutons radio (chaque bouton correspond a une espèce) et j’ai un champ Autres dans lequel l’utilisateur peut entrer le nom d’une espèce.
Ainsi, pour un gène donnée, l’utilisateur peut soit activer le bouton radio correspondant a l’espèce qu’il étudie, soit écrire dans le champ Autres.
Exemple :
* Soit le gène 1. Dans le cas ou l’utilisateur écris dans le champ Autres, je veux que le nom qu’il ait inscris soit enregistré (en temps réel) dans la table espèce de ma base de donnée et que l’espèce apparaisse désormais avec un bouton radio.
Puis l’utilisateur appuie sur next, alors une nouvelle page du formulaire s’ouvre pour qu’il entre les données du gène 2.
* Pour le gène 2.
Le nom de l’espèce étant entré pour le gène 1, celui-ci est indiqué par un bouton radio et l’utilisateur n’a plus qu’à le cocher.
Pensez vous que c'est possible?
Si oui pouvez-vous me dire comment faire?
Je travaille sous unix, langage perl, SGBD MySQL et serveur Apache.
Voilà, j'ai un formulaire avec des boutons radio (chaque bouton correspond a une espèce) et j’ai un champ Autres dans lequel l’utilisateur peut entrer le nom d’une espèce.
Ainsi, pour un gène donnée, l’utilisateur peut soit activer le bouton radio correspondant a l’espèce qu’il étudie, soit écrire dans le champ Autres.
Exemple :
* Soit le gène 1. Dans le cas ou l’utilisateur écris dans le champ Autres, je veux que le nom qu’il ait inscris soit enregistré (en temps réel) dans la table espèce de ma base de donnée et que l’espèce apparaisse désormais avec un bouton radio.
Puis l’utilisateur appuie sur next, alors une nouvelle page du formulaire s’ouvre pour qu’il entre les données du gène 2.
* Pour le gène 2.
Le nom de l’espèce étant entré pour le gène 1, celui-ci est indiqué par un bouton radio et l’utilisateur n’a plus qu’à le cocher.
Pensez vous que c'est possible?
Si oui pouvez-vous me dire comment faire?
Je travaille sous unix, langage perl, SGBD MySQL et serveur Apache.
A voir également:
- Formulaire HTML : besoin d'aide
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Editeur html - Télécharger - HTML
- Formulaire de reclamation instagram - Guide
- Espace html - Astuces et Solutions
1 réponse
salut,
je ne connais pas PERL mais une chose est sure, c'est surement possible.
mais à mon avis tu n'as pas besoin de deux étapes, tu peux ajouter une nouvelle espèce et un nouveau gène d'une nouvelle espèce en une fois.
à la soumission du formulaire tu testes la valeur des boutons radio :
ou alors tu le fais avec les deux étapes et dans ce cas tu te contentes d'ajouter la nouvelle espèce et tu affiches à nouveau la même page mais qui contiendra un radio de plus.
je ne connais pas PERL mais une chose est sure, c'est surement possible.
mais à mon avis tu n'as pas besoin de deux étapes, tu peux ajouter une nouvelle espèce et un nouveau gène d'une nouvelle espèce en une fois.
à la soumission du formulaire tu testes la valeur des boutons radio :
si radio = 'autre' alors insertion sql de la valeur de 'autre' dans la table 'espece' récupération de l'identifiant de l'espece créée insertion sql de la valeur de 'nom_gene' + 'id_espece' dans la table 'gene' sinon insertion sql de la valeur de 'nom_gene' + 'id_espece' (valeur du radio) dans la table 'gene'
ou alors tu le fais avec les deux étapes et dans ce cas tu te contentes d'ajouter la nouvelle espèce et tu affiches à nouveau la même page mais qui contiendra un radio de plus.
* Ce qu’il y a c’est que mon gène a déjà été entregistré au préalable dans ma base de donnée, de plus les champs variant et gene-sequence (de la table gene) ne sont pas encore rempli dans ma base de donnée. Ils le seront dans la suite de mon formulaire.
Faut-il alors qu’à cette étape que je leur attribue la valeur null (chaîne de caractère vide)
* Est-ce qu’en fesant ça (une fois que j’aurais appuyé sur le bouton next pour voir apparaître la page suivante correspondant au gène suivant) le bouton radio correspondant a l’espèce ajouté (içi homme) apparaîtra t-il pour le gène suivant ?
Je suis désolé si mes questions peuvent parître idiote mais je suis débutante…sniff, sniff
Voiçi mon bout de code
if ($species == "Autre")
{
$ species = $homme;
$sql = "INSERT INTO species (species-id, species-name) VALUES('',' $species')";
$species-id = mysql_insert_id();
$sql = "INSERT INTO gene (gene-id, species-id, method-id, variant, gene_name, gene_sequence ) VALUES('','$ species-id ', '$ method ', '', '$ gene_name ', '')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
}
else
{
$sql = "INSERT INTO gene (gene-id, species-id, method-id, variant, gene_name, gene_sequence ) VALUES('','$ species-id ', '$ method ', '', '$ gene_name ', '')";
$species-id = mysql_insert_id();
}
fouillouillou...
je comprends pas grand chose.
de toute façon : tout est possible ou presque.
si il te faut absolument un formulaire en plusieurs étapes/pages le mieux est peut être de ne pas ajouter quoique ce soit à la bdd avant d'avoir collecté toutes les infos. en cas d'annulation à l'étape 3/5 par exemple tu te retrouverais avec des infos saisies mais incomplètes.
le mieux est donc peut être de stocker les données dans une variable de session que tu rempli au fur et à mesure et sur le dernier 'submit' tu t'en sers pour alimenter la bdd.
submit première page :
affichage deuxième page :
et au fur et à mesure tu collectes les autres infos et les ajoutes à $_SESSION.
à la fin tu stockes toutes les données.