Filtrer une table mysql

Résolu
javanovice Messages postés 22 Date d'inscription lundi 9 avril 2012 Statut Membre Dernière intervention 11 juin 2012 - 27 mai 2012 à 11:30
 Utilisateur anonyme - 2 juin 2012 à 13:04
Bonjour tout le monde , je vous fais part de ce que j'essaie de réaliser espérant que je trouverai une réponse à ma question. voilà je fais application en java et la je voudrais programmer une classe ' recherche', la tache qu effectue cette dernière c'est de rechercher des personnes dans une table mysql par "nom ou prénom" tapé par l'utilisateur, je voudrais chaque fois que l'utilisateur tape une lettre la table se filtre selon les lettre tapées. et le resultalt je l'affiche dans un scrollpane. pour l'affichage j'ai pas de pb je cherche juste la requette et l'action du JTextField. j'espère avoie été claire. merci d'avance.

6 réponses

Utilisateur anonyme
29 mai 2012 à 12:39
Un truc du genre :

String requête = "select * from ta_table where nom like '"+nom+"%' or prenom like '" + prenom + "%'"


Ici, nom et prenom sont des variables ayant le nom et le prénom de recherche. C'est la façon brute, je préfère faire des requêtes préparées personnellement.

--
Pylouq
(Lire le Réglement n'a jamais tué personne, au pire ça a instruit des gens.)
3
Utilisateur anonyme
28 mai 2012 à 23:21
La requête SQL n'est pas bien compliquée...

Un truc du genre select * from table_personnes where nom like 'val1' or prenom like 'val2'.

Sinon que veux-tu faire avec ton JTextField ?


--
Pylouq
(Lire le Réglement n'a jamais tué personne, au pire ça a instruit des gens.)
0
javanovice Messages postés 22 Date d'inscription lundi 9 avril 2012 Statut Membre Dernière intervention 11 juin 2012 11
29 mai 2012 à 12:15
Bonjour, merci bcp pour la réponse mais c'est pas exactement ce que je recherche, enfait je voudrais que ma requette SQL select même les enregistrement qui commencent par val1 pour le nom et val2 pour le prénom. Merci infiniment
0
javanovice Messages postés 22 Date d'inscription lundi 9 avril 2012 Statut Membre Dernière intervention 11 juin 2012 11
29 mai 2012 à 12:33
par exemple si j'ai ma table avec deux champs ( nom,prénom) et contient ces enregistrement (morel,dana) (mathieu,sarah)(morin,daniel)(roussel,pascale) si je tappe la lettre 'm' dans le JTextField NOM, la requete affiche les 03 premiers enregistrement et si je tape 'da' dans le JTextField PRENOM la requette affiche le 1er et le 3ème enregistrement. voilà merci bcp
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
javanovice Messages postés 22 Date d'inscription lundi 9 avril 2012 Statut Membre Dernière intervention 11 juin 2012 11
29 mai 2012 à 12:49
Suuupeeer ça a marché merci infiniment, et y aurait-il une action pour le JTextField je voudrais que la recherche se fait juste en tapant des lettres donc pas de bouton pour faire l 'action
0
Utilisateur anonyme
2 juin 2012 à 13:04
Pour ça, va faire un saut du côte des KeyListener ou des KeyAdapter. L'idée c'est que tu appelles ta méthode qui exécute la requête dès que tu tapes une touche. Un truc du genre :

JTextField jtfNom = new JTextField..... ; // tu créés ton JTextField comme d'habitude
jtfNom.addKeyListener( new KeyAdapter() {
     public void keyTyped( KeyEvent ke ){
         // appelles ta méthode
     }
});



Par contre c'est la méthode à la mord moi l'noeud, honnêtement je ne l’utilise pas trop car je fais mes propres classes mais après tout dépend de tes besoins. Bref, regarde sur le forum car ne sont pas les sources qui manquent. Là je passe en coup de vent donc j'ai codé vite fait et je doute ce que soit fonctionnel car j'ai fait de tête

Si tu as un problème ou des question, tu n'hésites pas et tu repasses ici.

--
Pylouq
(Lire le Réglement n'a jamais tué personne, au pire ça a instruit des gens.)
0
Rejoignez-nous