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 :

Affinage de liste à choix multiple [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 13
    Par défaut Affinage de liste à choix multiple
    Bonjour,

    Voila pour les besoins de mon stage je dois faire pas mal de page en PHP couplé à MySQL.

    Jusqu'ici je n'ai eu aucun problème malgré le fait que e sois débutant en PHP et MySQL

    Je voudrais savoir comment faire pour obtenir un affinage d'une liste a choix multiple à partir de la selection d'un item dans une autre liste a choix multiple.

    Comme quand on demande de choisir un pays puis dans la liste d'après il n'y a que les régions du pays puis juste les départements de la région etc.

    Je pensais créer une table pour chaque catégorie que je veux avoir ( dans l'exemple ce serait une table pays, une table des régions pour chaque pays,etc.)
    Mais je sais pas trop comment m'y prendre.

    Pour l'instant je ne demande que des pistes de réflexion et si vraiment je n'arrive à rien je demanderais un peu plus d'aide.

    Merci d'avance

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Par défaut
    Bonjour,

    Ton idée est bonne. Une table pays, puis une table région, chaque région détenant une clé étrangère qui est l'id de son pays, puis une table département, chaque département ayant une clé étrangère qui est l'id de sa région, etc ...

    La clé étrangère te permet de lister toutes les tables qui appartiennent à une catégorie-mère. Bien évidemment, tu peux utiliser une simple référence à l'id de la mère sans indiquer que c'est une clé étrangère, mais disons que la clé étrangère te permet de matérialiser la relation.

    Evidemment, il faut d'abord que tu uniformises la hiérarchisation. Tous les pays n'ont pas une subdivision région/département/commune, certains peuvent en avoir plus, d'autres moins. Tu adapteras cette remarque à ton cas réel, mais il n'y a rien de plus énervant que de réaliser que tous les items n'ont pas la même hiérarchisation alors qu'on a déjà écrit tout le code...

    Tu peux faire ça ensuite de plusieurs manières:
    - en php / html : à chaque fois qu'un choix est effectué, le formulaire est soumis, et on attends que la page se recharge pour repeupler la liste. Lourd, Lourd.

    - en javascript. Tu récupères le contenu de tes tables, puis tu les copies dans des tableaux javascript. Le reste peut s'effectuer sous javascript, il n'y a aucun rechargement de page, c'est fluide. Mais quid si les infos des tables changent pendant que l'utilisateur fait ses choix ? Une fois transférés en javascript, tes données deviennent statiques. Sans compter que l'utilisateur aura accès à toutes tes tables dans son code source, même celles dont il n'a pas besoin. C'est le choix le plus facile, mais à toi de voir.

    - Ajax. La liaison entre ton formulaire et php/mysql est faite en arrière-plan par ajax. Il n'y a pas de reload de la page à chaque choix, et les données sont garanties "fraîches". C'est peut-être le meilleur choix, si tes données peuvent changer rapidement.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 13
    Par défaut Affinage de liste à choix multiple Répondre à la discussion
    Oki doki,
    Je vais essayer l'option php/html, c'est celle qui me parle le plus.

    Pour le javascript, ce qui m'embete c'est que les données soit toutes dispo dans le code source...

    Et pour le ajax je connais pas du tout... mais c'est vrai que c'est l'idée que j'avais au départ, tant pis...

    Je vous tient au courant

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 13
    Par défaut
    Si jamais il y a d'autre moyen de le faire je reste preneur...
    Merci

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Par défaut
    http://ajax.developpez.com/

    Tu trouveras beacoup de tutoriels.
    En gros, la liaison entre le client et le serveur est réalisée par javascript, qui communique directement avec php. Du coup, pas besoin de reload sur la page.
    Tu trouveras même des bibliothèques te permettant de réaliser un appel ajax très rapidement sans tout écrire, du genre prototype, etc ...
    Mais bon, il y a le forum Ajax pour ça.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 13
    Par défaut
    Bon alors après quelques temps de réflexion g réussi à faire mon truc grosso modo en suivant l'idée du html/php
    mais au final je l'ai fait en 3 pages avec dans chacun la nouvelle liste... je verrai l'amélioration demain mais pour ce soir je suis plutôt content de moi

    merci encore pour l'idée de départ.
    Je regarderais demain l'idée d'ajax.

    Bonne soirée

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 13
    Par défaut
    salut,
    J'ai regarder la page concernant AJAX mais n'ayant que de petites base de Javascript au strictement aucune en XML, j'ai juste compris les principe d'AJAX ça m'adonné envie de me perfectionner en javascript pour pourvoir utiliser AJAX
    Mais pour le moment je vais me contenter d'améliorer les pages PHP que j'ai faite ça convient parfaitement à ma chef...

    Vraiment Merci pour ce coup de main.
    Si j'ai un nouveau souci je viendrai directement ici.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/03/2006, 12h39
  2. Zone de liste à choix multiple
    Par zoom61 dans le forum Access
    Réponses: 2
    Dernier message: 31/01/2006, 13h06
  3. Utilisation des liste à choix multiples
    Par mic79 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 04/07/2005, 11h40
  4. recuperer valeur liste choix multiple
    Par gabychon dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 13/06/2005, 11h47
  5. [Débutant][JSP] récupération liste choix multiple
    Par Jovial dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 14/05/2004, 13h59

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