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 :

Formulaire recherche de users [PHP 5.0]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 8
    Par défaut Formulaire recherche de users
    Bonjour à tous,

    J'implémente en ce moment (et pour la première fois) une fonctionnalité de recherche sur mon site que je réalise en Php/MySQL.

    Mon problème est très classique : je souhaite que l'utilisateur puisse rechercher d'autres utilisateurs en renseignant via un formulaire des infos sur des champs type :
    pseudo, nom, prénom, sexe, email, ...

    Je n'ai pourtant pas vu de messages portant plus sur la conception de ce type de formulaire.

    Du coup je souhaiterais savoir quelle est la méthode classique pour réaliser ce genre fonctionnalités?

    Le MySQL full text indexing est-il adapté? :
    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select  * from users where match(username) against ('toto');
    avec username définit en fulltext?
    Puis en recoupant les résultats pour chacun des champs renseignés dans mon formulaire?

    Parenthèse :
    J'ai déjà réalisé un mini moteur de recherche garce à Zend_Lucene...Mais je n'ai pas l'impression que Lucene convienne à ce que je veux faire...
    Lucene me parait plutôt fonctionner pour une recherche pouvant s'effectuer sur plusieurs champs...ex 'voiture' dans le titre, le corps, etc. d'un message....
    Je n'ai pas l'impression que Lucene permette autre chose et notamment ce que je souhaite faire qui s'apparente plus à un filtre...

    Merci d'avance pour toute aide!

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Pour faire des recherches dans un champ qui contient un seul mot, Fulltext n'a pas d'interêt.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select  * from users where username  = 'toto';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    +1 sabotage

    Je rajouterais que ce n'est pas parce que le doc de MySQL dit que le type de donnée FullText est adapté pour faire des recherches sur son contenu que celui-ci s'impose.

    En faite, il faut en 1er savoir le type de donné que tu vas stocker, et ensuite bien juger la quantité maximale (en octets) qu'un enregistrement pourrait avoir, cela pour définir une limite la plus petite possible.

    Pour un "username" (de même que : pseudo, nom, e-mail), un type FullText est largement sur-dimensionné.
    Un type VARCHAR me semble bien plus adapté.
    Pour le sexe un type char(1) (qui recevra M ou F) devrait être suffisant théoriquement, mais on pourrait aussi adopter un type booleen (true/false ou 0/1), 0 pour Homme et 1 pour Femme par exemple.

    Pour une recherche, un code du genre peu suffire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM users WHERE username LIKE '%trucmuche%'

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 8
    Par défaut
    Pour une recherche type filtre sur "sexe" "pseudo" etc, pas besoin de chercher midi à 14h donc!

    Merci à vous pour toutes ces précisions.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/05/2012, 11h47
  2. FORMULAIRES - Recherche dynamique
    Par Gunther dans le forum IHM
    Réponses: 3
    Dernier message: 06/12/2006, 09h12
  3. Validation de formulaire recherche avec fonction javascript
    Par Cdic dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 19/01/2006, 10h52
  4. [formulaire] recherche multi criteres
    Par Treuze dans le forum IHM
    Réponses: 3
    Dernier message: 10/01/2006, 10h36
  5. Formulaire Recherche MultiCritère et RunTime
    Par fbu78 dans le forum Runtime
    Réponses: 9
    Dernier message: 06/01/2006, 17h52

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