Bonsoir à tous,
Dans l'optique d'un travail scolaire je dois créer un petit formulaire qui insère des donnés dans une base, sous Wordpress. La page du formulaire est développée à la main.
Concrètement, ce formulaire permet à des personnes de dire s'ils participeront (ou non) à des activités, chaque activité ayant un prix. L'activité peut : ne pas être effectuée OU être effectuée par la personne seule OU être effectuée par la personne + un accompagnant. En gros la tronche du formulaire c'est ça :
Je stocke donc actuellement, suivant les réponses, soit un 1 pour "OUI", un 0 pour "NON" et un 2 pour "OUI, AVEC UN ACCOMPAGNANT" dans une table "activites" et de ce côté c'est ok.
Cependant, il faudrait que je stock en plus le prix dans une table "prix". Donc en plus de passer un 0, 1 ou 2 il faudrait que je puisse passer le prix de l'activité en fonction sa réponse.
Exemple : pour une activité à 50 euros par personne, si il choisit "OUI", je rentre "1" dans la table activites et 50 dans la table prix. Si il chosit "OUI, AVEC UN ACCOMPAGNANT" je rentre "2" dans activites et "100" dans prix etc...
Mais je ne sais pas comment m'y prendre, est-il possible de passer 2 values dans un seul input, dans 2 tables différentes ? Franchement je m'enbrouille tout seul et ça m'embête un peu de pas réussir quelque chose qui pourtant à l'air simple. Je possède sûrement les bases en HTML / PHP / MySql pour le faire mais je bloque côté logique.
Any idea ?
Merci d'avance et bonne soirée.
Si ce n'est pas clair n'hésitez pas à me demander, je tenterai de ré-expliquer tout ça.
Bonsoir,
à quel moment utilises tu le prix ? pourquoi vouloir le passer dans le formulaire ?
Pourquoi ne pas tout simplement multiplier le prix par sa réponse : par exemple, pour 50€ l'activité, s'il met non c'est 0€, s'il met oui c'est 50€ et s'il met oui avec un accompagnant c'est 50€*2 donc 100€.
Bonsoir,
Merci pour ta réponse déjà ! Ensuite c'est ce que j'avais pensé à la base, sauf que la personne pour laquelle je réalise ce formulaire désire avoir dans le back-office Wordpress une partie ou elle peut voir qui participe à quoi et à combien de personnes, et une autre partie avec disons la "gestion financière", d'ou la problématique...
Et j'ai besoin du prix pour l'afficher sur la page après la soumission du formulaire, pour calculer le total dont il devra s'aquitter.
Hello, merci pour ta réponse mastertaskone. Yep le Wordpress était imposé... Sinon j'ai lu et relu plusieurs fois ta réponse, elle semble cohérente mais en fait niveau technique j'aurai peut être besoin d'un exemple pour mieux visualiser, au moins la tête que peut avoir l'HTML avec les values des input, et une partie de page de traitement PHP. Est-ce possible ?
Le HTML de l'exemple c'est celui-ci, et ce cera vraisemblablement la même structure pour ma page finale, avec juste des nom d'activités au lieu de "Activité 1" etc...
<form action="traitement.php" method="POST">
<p>nom</p>
<input type="text" name="nom">
<p>prenom</p>
<input type="text" name="prenom">
<p>activité 1</p>
<input type="radio" name="activite_1" value="1"/> oui<br />
<input type="radio" name="activite_1" value="0"/> non<br />
<input type="radio" name="activite_1" value="2"/> oui, avec un accompagnant
<p>activité 2</p>
<input type="radio" name="activite_2" value="1"/> oui<br />
<input type="radio" name="activite_2" value="0"/> non<br />
<input type="radio" name="activite_2" value="2"/> oui, avec un accompagnant<br /><br />
<input type="submit" name="valider" value="Valider">
</form>
Aussi, la page d'affichage côté back-office devra renvoyer quelque chose dans ce genre, et malheureusement je crains ne pas avoir le choix quant à sa structure :
En tout cas merci de ton aide et bonne journée !
Hello,
Personne pour démystifier une partie du message de mastertaskone, surtout au niveau de la structure des tables, et ptete un exemple d'un insert ? Je bidouille tout ça mais je pense que c'est à ce niveau que ça bloque.
Merci à vous et bonne soirée.
Mastertaskone propose de modifier ta structure de BD afin pouvoir récupérer les infos un peu plus facilement.
Voilà ce qu'il a proposé :
Table Activites (id, prix) ------- avec 'id' en clé primaire
Table Participants (id, nom, prenom, #activite-id-1, #activite-id-2) ------- avec 'id' en clé primaire
Avec #activite-id-1 en référence à id de Activites
Je ne conseille pas cette solution exactement si il est possible que d'autres activités soient ajoutés (ce qui parrait logique). A la place de placer activite-id-1 et 2 dans Participants, il faut créer cette Table :
Participations (id-activite, id-participant, choix) où la clé primaire est la concaténation de id-activite et d'id-participant et chaque champ référence un id de la table Activites et Participants. et choix correspond à 0, 1 ou 2.
Tu es au clair avec les jointures en SQL ? Je peux un peu mieux expliquer sinon.
Voilà un extrait de ce que donnerai la BdD :
Grâce à la table PARTICIPATIONS, tu peux récupérer les infos dont tu as besoin pour le back-office.
Mais tu ne peux récupérer le choix pour le placer dans la table ACTIVITES, ce n'est pas lié. Ou alors je ne vois pas du tout la structure que tu propose.
Tu peux présenter la structure comme je l'ai fait avec les noms de table et les noms de champ entre parenthèse ?