Bonjour, j'ai dernièrement créer un site et j'aimerais y rajouter un petit quelques choses mais j'ignore comment m'y prendre...
Pour commencer, lorsque les gens rentrent sur mon site web, ils doivent remplir un formulaire a menu déroulant... ce formulaire est relié a une base de donnée... Dans un onglet spécifique, j'ai relié, en php, un tableau qui lit les informations que les gens rentrent dans le formulaire (donc relié a la table mysql)...
Mais j'aimerais que cela soit plus beau... Donc j'aimerais qu'il y est des images spécifiques pour chaque choix... Je m'explique... Admettons que la question 1 est : Votre pays préféré. Il y a donc 3 choix soit Canada, France et États-Unis. J'aimerais que donc que l'affichage des données soient différente... Lorsque nous choissions canada par exemple, j'aimerais que sa soit un image spécifique qui apparaise (drapeau par exemple) au lieu du simplet texte dans le tableau...
Non seulement suite aux selections... Dans le tableau des reponses qui est relie a la table en php... Mais sa donne qu'un tableau pas hyper joli... J'aime rendre tout celanun peu plus dynamique...
Suite a ce code, la page affiche dans un tableau les réponses données par les personnes... Ce que je veux : lorsque les gens prennent par exemple : Canada dans choix 1 (groupe1), ce soit une image spécifique pour le Canada qui apparaise au lieu de CANADA.
<body> <p><a href="/index.html"><img src="back.png" width="81" height="95" /></a> </p> <p> <?php // On se connecte au serveur de bases de données. // Adapter le nom d'hote où se trouve le serveur mysql $lienBD = mysqli_init(); mysqli_real_connect($lienBD, ', "", ", '') or die('Impossible de se connecter à mysql (): ' . mysql_error()); echo '';
// Récupération de toutes les adresses (requête SQL) : $requete = 'SELECT * FROM formulaire'; $result = mysqli_query($lienBD, $requete) or die('Query failed: ' . mysql_error());
Idem pour la connexion à la BDD...
Place le code de connexion dans un autre fichier...
Ensuite...
Quand je vois ta requête et par la suite le nom des CHAMPS que tu récupères dans ton code PHP.. j'ai l'impression que tu as mal dessiné ta Base de données.
Pourrais tu nous en donner la structure ?
( éventuellement.. dans PhpMyadmin ou via un logiciel comme HeidiSql .. tu peux faire un
show create formulaire
Et je pense... que le mieux serait de découper ta table formulaire en plusieurs....
Par exemple (mais sans connaitre l'utilité de tes différents champs il m'est difficile de te proposer mieux pour l'instant..)
Une table people (id_user,nom_user,....) Une table groupes (id_groupe,nom_groupe) Une table formulaire (id_formulaire,id_user,id_groupe) Une table Choix (id_choix,id_formulaire,libelle_item...)
Bon.. passons maintenant à ta question initiale...
Comment afficher une image qui dépend du choix de l'utilisateur...
Et bien.. prenons par exemple le PAYS ( que tu as dans une liste déroulante...)
=> Cette liste est alimentée aussi par la Base de données ou tu as écris en "DUR'" dans le code les différents choix ??
===>> Le mieux.. serait de les mettre dans la BDD
donc une table : pays (id_pays,nom_pays,image_pays)
=> image_pays est un champ de type varchar ... qui contiendra l'emplacement de l'image sur ton serveur.. par exemple
"./images/canada.png"
... et donc... lorsque l'utilisateur choisira le Pays dont l' ID est 5 par exemple.... tu pourras afficher l'image correspondante...
Pour résumer (ben oui.. j'ai écris plein de choses..)
1 - Donnes nous la structure de ta table (avec un exemple de ce qu'elle contient eventuellement)
2 - Dis nous à quoi correspondent tous les 'groupe1' 'groupe2' etc... et les autres champs de ta table.
3 - Repense ton modèle de BDD en découpant en plusieurs tables.. (une table représente en quelque sorte un "objet" .. par exemple... un FORMULAIRE... contient un/ou plusieurs choix...un choix contenant un ou plusieurs PAYS etc... le lien entre chaque se faisant via leur ID )
Merci pour ta réponse. Je crois que je vais laisser tomber cette idée... comme mon site doit être opérationnel pour Jeudi, je ne crois pas vouloir me relancer dans la configuration complète de ma base de donnée...
Et oui, effectivement, les choix de reponses sont encré dans le code HTML des menus déroulant... ensuite les donné se rendre dans ma base de donnée avec une entrée varchar.
Vous n’avez pas trouvé la réponse que vous recherchez ?
La prochaine fois... pense que le DEV c'est avant tout 80% de réflexion ...et seulement 20% d'écriture de code....
Il faut réfléchir à la structure de la BDD.... penser à comment et quoi afficher ...comment seront structurées les pages du site..etc...
Et seulement après..(l'idéal étant d'écrire un cahier des charges ou.. si tu veux utiliser une méthodologie comme AGILE par exemple... des user stories (les différentes fonctionnalités) ) tu commences à coder..