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

Discussion :

Conception énorme liste option value

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 181
    Points : 114
    Points
    114
    Par défaut Conception énorme liste option value
    Bonjour,

    Je réalise une page avec des tabs bootstrap, et à l'intérieur des listes déroulantes assez grande (300 / 400 lignes je crois).

    Pour le moment je génère ma liste déroulante à la volée , directement le résultat d'une requête mysql et une boucle pour créer les
    <option value="">
    Ça fonctionne, mais c'est assez lent à charger.

    Comme cette liste ne sera pas modifié très souvent, j'ai pensé à générer ces options value dans un fichier texte , et de faire un include de ce fichier.
    Je sais que cela va marcher.

    Mais avez-vous une idée de solution plus propre ? ou alors il s'agit de la bonne?
    Merci !

  2. #2
    Expert confirmé Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 529
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 529
    Points : 4 740
    Points
    4 740
    Par défaut
    de 300 à 400 entrées dans une combo box, c'est du délire en terme d'ergonomie.
    «La pluralité des voix n'est pas une preuve, pour les vérités malaisées à découvrir, tant il est bien plus vraisemblable qu'un homme seul les ait rencontrées que tout un peuple.» [ René Descartes ] - Discours de la méthode

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 181
    Points : 114
    Points
    114
    Par défaut
    Bon, j'ai peut-être exagéré . Je dois être à 150 . et la avec les tabs bootstrap , je les mets par catégories, j'arrive à 30 par onglets.
    Mais j'ai toujours la requête mysql qui prend un peu de temps.

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    pour simplifier la vie aux utilisateurs qui devront choisir une valeur dans ce menu déroulant, vous pouvez rajouter une aide en JavaScript comme cela par exemple :
    http://jqueryui.com/autocomplete/#categories

    du côté des performances, ça peut être intéressant de faire un système de cache dans un fichier comme vous le proposez. et donc à chaque modification de ces données, vous devrez reconstruire le fichier PHP.

  5. #5
    Expert confirmé Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 529
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 529
    Points : 4 740
    Points
    4 740
    Par défaut
    La vitesse d’exécution d’une requête SQL est surtout dépendante du serveur SQL.

    Donc si tu veux améliorer le temps de réponse du serveur SQL, il faut améliorer le code SQL de cette requête.
    d'expérience, quand les requêtes SQL sont un peu complexes, avec des jointures entre 3 tables par exemple, elles sont rarement écrites proprement.
    Ensuite il y a toujours la possibilité d’utiliser une procédure stockée, qui évite de relancer inutilement l’interpréteur SQL.
    On peu aussi jouer sur le cache de la BD, ou alors faire une gestion de cache en PHP pour les résultats des requêtes, mais ça suppose un respect relatif au modèle MVC.

    Mettre un fichier texte pourquoi pas, mais point de vue maintenance ça craint.
    «La pluralité des voix n'est pas une preuve, pour les vérités malaisées à découvrir, tant il est bien plus vraisemblable qu'un homme seul les ait rencontrées que tout un peuple.» [ René Descartes ] - Discours de la méthode

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 181
    Points : 114
    Points
    114
    Par défaut
    Bonsoir,

    Merci psychadelic.

    Aujourd'hui c'est pour un petit portail interne, la solution du bricolage avec le fichier texte passera.

    J'ai surtout envie de trouver une solution propre pour l'appliquer ensuite pour d'autres projets.
    Car généralement je fais des requêtes inutiles, si ce que j'affiche est modifié tous les 15 jours seulement.

    Par contre cela m'intéresse :"Ensuite il y a toujours la possibilité d’utiliser une procédure stockée"

    merci

  7. #7
    Expert confirmé Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 529
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 529
    Points : 4 740
    Points
    4 740
    «La pluralité des voix n'est pas une preuve, pour les vérités malaisées à découvrir, tant il est bien plus vraisemblable qu'un homme seul les ait rencontrées que tout un peuple.» [ René Descartes ] - Discours de la méthode

Discussions similaires

  1. conception des liste en fonction des piles
    Par sino dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/06/2006, 21h08
  2. Utiliser le concept de liste
    Par Pierre Cormault dans le forum Prolog
    Réponses: 7
    Dernier message: 18/04/2006, 13h34
  3. [Conception] todo list -> commencement
    Par masseur dans le forum PHP & Base de données
    Réponses: 23
    Dernier message: 02/02/2006, 11h50
  4. [Conception] controle liste
    Par amigauss dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 19/01/2006, 19h08
  5. [Struts]Select, options & value ...
    Par djoukit dans le forum Struts 1
    Réponses: 4
    Dernier message: 01/07/2004, 10h40

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