IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Liste dynamique dans un formulaire [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 115
    Points : 104
    Points
    104
    Par défaut Liste dynamique dans un formulaire
    Bonjour,

    Je dois réaliser une liste dynamique dans des formulaires. Dans un cas le contenu de la liste dépendra du choix entre deux options via un button de type radio. Dans le second cas, il y aura deux zones texte et en fonction de celle dans laquelle l'utilisateur entrera une donnée la liste sera triée différemment et ensuite l'entrée qu'il sélectionnera dans la liste devra compléter un champ texte.
    Donc dans les deux cas les données de ma liste se basent sur une BD MySQL, seule la requête changera.

    De mes recherches, j'ai vu qu'il fallait que je passe via du javascript mais je n'ai pas trouvé de résultat satisfaisant à mon goût :
    _ j'ai trouvé des infos sur la vérification d'un formulaire au moment où on le soumet, ça ne correspond donc pas
    _ j'ai également trouvé cet exemple : http://php.developpez.com/sources/?p...ms#listesliees
    Je ne sais pas si j'ai tout compris mais en fait ce code propose de recharger la page en fait en passant les infos déja entrées via GET. Cette solution me semble lourde vu que j'ai pas mal de champs qui seront remplis avant.

    Merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 59
    Points : 45
    Points
    45
    Par défaut
    Bonjour,
    via le java tu peux choisir par exemple de faire afficher ou de cacher un widget.
    Tu peux aussi lié des cases a cocher, etc
    Tu peux faire un premier controle coté client de ce que l'utilisateur a rentré.

    Si j'ai bien compris ton formulaire est basé aussi sur un contenu tiré de la base de donnée et ce contenu est tiré d'après un requete qui dépend des choix de l'utilisateur, si c'est cela il faut que tu décomposes le fonctionnement de ton formulaire.

    Moi je ferai ca sur plusieurs pages pour commencer avec un premier formulaire d'entré qui dirige vers différentes pages qui continenne chaqun un grand type de requete.

    Je t'avoue que je n'arrive pas vraiment a t'aider car tu ne donnes pas assez de détail...

    Je te conseille peut etre de coder cela en plusieur feuille séparée quitte ensuite tenter de les faire fonctionner sur une seule et meme page via peut etre du java ou de l'autopost (post de la page sur elle meme).

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 115
    Points : 104
    Points
    104
    Par défaut
    merci de ton apport mais il faut que le formulaire reste sur une seule page, ce site doit avoir une interface la plus simple possible
    malheureusement je ne peux pas donner plus d'infos (en fait je fais un projet via la junior entreprise de mon école et vu que c'est pour lancer un site web sur un nouveau concept, je ne peux pas dire de quoi il retourne)

    je vais tout de même essayer d'être plus clair :
    pour le premier formulaire :
    _ j'ai un choix à faire entre deux valeurs : choix1 et choix2
    _ le champ suivant à compléter est une liste déroulante donc le contenu sera obtenu via une requête du type SELECT * FROM xxxx WHERE yyyy="choix1" (si choix1 a été sélectionné)
    pour le second formulaire :
    _ deux zones textes (l'utilisateur remplira une des deux)
    _ la liste se basera sur une requête du type SELECT * FROM xxxx ORDERBY yyyy (en fonction de la zone remplie on aura ORDER BY yyyy ou zzzz)
    _ une zone texte dont le contenu dépendra de la sélection faite dans la liste

    mon gros problème c'est que je ne suis pas un adepte du javascript, le plus simple serait de pouvoir générer la requête dans le script mais est-ce possible ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Points : 422
    Points
    422
    Par défaut
    PHP => langage Serveur ...

    Toi tu souhaites qu'il exécute une requête, sans actualisation, selon un choix. C'est impossible.
    Tu peux :
    - Exécuter toutes les requêtes, même celle qui ne seront pas afficher, pour te permettre de jouer avec JS (qui lui est un langage client).
    - Recharger ta page, peut-être moins pratique que la première solution, mais moins gourmande.

    P.s : Si j'ai rien compris dit le, car je trouve pas ça très clair comme description :').

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 59
    Points : 45
    Points
    45
    Par défaut
    Comme le dit SpiritOfDoc distingue les endroits ou tu as besoin d'un code coté serveur aux endroits ou tu peux faire du coté client.

    Si tu as un endroit ou tu as une requete sur la base tu es coté serveur donc la tu dois lancer la requete, il faut ensuite que ta page se relance sur elle meme en affichant le résultat et en adaptant la page.


    Tu te trompes sur la nature de mon conseil. Je ne dis pas que tu es obligé de faire en plusieurs page juste qu'il serait bien de le faire au début sur plusieurs pages et QUE CA MARCHE et ensuite de réfléchir pour tout mettre sur la meem page en rajoutant juste dans condition.

    Par contre tu ne pourras pas faire une page qui va s'afficher dynamiquement le tout en fonction juste des requetes, à moins de lancer la requete général de la stocker sous une forme accessible directement (dans une variable tableau par exemple) et d'adapter via du code coté client l'affichage mais ca craint!

    tu es l'ENSAM?

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 115
    Points : 104
    Points
    104
    Par défaut
    je crois voir ce que vous voulez dire, j'exécute mes requêtes avant et je choisirai le résultat de l'une d'elle par la suite maintenant il faudrait que je regarde comment faire ça

    sinon je vais peut être envisager la méthode de recharge de la page avec en paramètres les données déjà entrées ce sera peut être plus simple car avec mes délais je n'aurais pas le temps de me mettre sérieusement au JS.

    Sinon non je ne suis pas à l'ENSAM mais à l'ESIEE Paris

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. affichage d'une liste déroulante dynamique dans un formulaire
    Par manelll dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/06/2015, 12h42
  2. Script liste de choix dynamique dans un formulaire
    Par Carlycox dans le forum APIs Google
    Réponses: 1
    Dernier message: 26/12/2013, 17h55
  3. Liste dynamique dans un formulaire
    Par valkeke dans le forum Struts 1
    Réponses: 17
    Dernier message: 24/12/2009, 11h41
  4. Réponses: 4
    Dernier message: 23/04/2006, 21h27
  5. Réponses: 5
    Dernier message: 25/10/2005, 20h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo