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

Langage PHP Discussion :

Filtre sur un select


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 113
    Par défaut Filtre sur un select
    Bonjour,

    Je voudrai faire un filtre sur un select mais je ne sais trop comment faire. Je voudrais que dès que l'on commence à taper une lettre ds mon champ filtre, mon select se mette à jour. Ainsi à chaque lettre tappé sur mon filtre, mon select s'actualise.

    type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <select name="Liste" 
                <?php 
                $req="SELECT toto FROM tata WHERE toto LIKE '%$Monfiltre%'"; 
                 $result = mysql_query($req);
                  while($row = mysql_fetch_array($result))
                 { echo '<option value="'.$row[0].'">'.$row[0].'</option>';}
                 ?>
    </select>
    <INPUT NAME="Monfiltre" ???>

    Merci pour votre aide

  2. #2
    Membre éclairé Avatar de coach759
    Profil pro
    Webmaster
    Inscrit en
    Août 2009
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Août 2009
    Messages : 79
    Par défaut
    bonjour,

    Si tu veux que le champs select change en fonction de ce que tape l'utilisateur, il faut que soit tu recharge la page à chaque fois ou soit il te faut utiliser du javascript.

    La première solution est plus simple à réaliser, mais je te l'accordes, beaucoup moins joli...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 113
    Par défaut
    Aurais tu un exemple de code stp ?

  4. #4
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Ca va dépendre aussi de la taille de ta table de recherche parce que je vois mal exécuter une requête à chaque caractère saisi, d'autant plus avec un % pour commencer le filtre, niveau ressource ça va être violent... Si la table est pas trop grosse il faut voir si c'est possible de charger la table dans une variable et ensuite travailler en JS/Ajax sur cette liste au fur et à mesure.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 113
    Par défaut
    non ma table n'est pas très grosse.

    Je ne veux pas le code clé en main mais juste les grandes lignes de celui-ci par exemple en fct de l'ébauche de code que j'ai mis ou sinon un exemple simplifié

    en effet, ce que je met ds mon filtre affecte directement mon select car celui-ci modifie ma requete .

    merci

  6. #6
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Citation Envoyé par uskiki85 Voir le message
    non ma table n'est pas très grosse.
    Dans ce cas charge la liste des mots à filtrer dès le chargement de ta page et travaille sur cette liste, ne va pas faire des requêtes en BDD à tout bout de champ...
    Charger la liste en PHP, créer une variable JS avec cette liste, et sur le onchange de ton champ appeler une fonction JS qui fait la recherche dans la liste. A retravailler c'est sans trop réfléchir ça et je maîtrise pas assez JS après

  7. #7
    Membre éclairé Avatar de coach759
    Profil pro
    Webmaster
    Inscrit en
    Août 2009
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Août 2009
    Messages : 79
    Par défaut


    Je veux bien essayé de t'aider, mais je vais pas t'écrire le code "clé en main"


    Dans ton javascript,
    Dès que l'utilisateur ajoute une lettre dans ton input (tu peux utiliser l'événement onkeypress), tu fait une petite requete ajax, qui appel une page php, qui va chercher dans ta base de données et renvoyer les résultats.

    Ensuite ce que tu reçois en réponse tu l'affecte à ton select.

    J'espère que ça va t'éclairer, si tu as des questions n'hésite pas.

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

Discussions similaires

  1. Requête select filtrée sur un select
    Par jacko842 dans le forum SQL
    Réponses: 6
    Dernier message: 21/09/2011, 15h58
  2. copie d'une selection filtrée sur une autre feuille
    Par biboulou dans le forum Excel
    Réponses: 2
    Dernier message: 15/08/2011, 16h44
  3. filtre sur liste avec selection multiple
    Par petitours dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 01/08/2007, 10h42
  4. Filtre sur une base Paradox
    Par mika dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/03/2004, 12h51
  5. [Sybase] filtre sur caractères spéciaux
    Par montelieri dans le forum Sybase
    Réponses: 4
    Dernier message: 07/04/2003, 17h49

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