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 :

Recherche générale mySql [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2011
    Messages : 70
    Par défaut Recherche générale mySql
    Bonjour à tous

    Je viens vous demander votre aide, parce que je cherche à créer une recherche dans une base mysql sur une table, mais sur plusieurs champs. Je m'explique.

    considérons une table modeles (utf8_general_ci)
    Les champs qui m'intéressent dans cette table:
    libelle varchar(255)
    description text
    color varchar(250)


    Avec un champ texte, je veux que mysql recherche dans les fields "libelle", "description" et "color".

    En pensant que ce champ texte contiendra surement dans beaucoup de cas au moins 2 mots..

    Le select like classique ne me semble pas approprié dans ce cas là, et j'aimerais avoir un code le plus optimisé étant donné qu'il est déjà très lourd à mon goût.

    Si quelqu'un a ne serait ce qu'une piste, je suis toute ouie.

    Merci pour votre attention
    Florian

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Regarde du côté du FULLTEXT MySQL : http://dev.mysql.com/doc/refman/5.0/...xt-search.html

  3. #3
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2011
    Messages : 70
    Par défaut
    Ca a l'air de correspondre à ce que je cherche. Mais est ce que cette technique n'est pas une perte de performance? Sachant que cette table modèle sera très grosse à un moment ... ?

  4. #4
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2011
    Messages : 70
    Par défaut
    Après essai, j'ai créé un fulltext sur libelle, description, et color, mais quand je fais la recherche il ne me renvoie rien... alors qu'il y a.

    [CODE=mysql]Ma requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     SELECT * FROM modeles WHERE MATCH(libelle,description,color) AGAINST('".$_POST['words']."')

    Indexes:
    Code mysql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Keyname	Type	Cardinality	Action	Field
     
    PRIMARY	 PRIMARY	 2 			 id
    recherche	 FULLTEXT	 None 	        libelle
                                                         description
                                                            color


    J'ai cherché mais je vois pas ce que j'ai loupé..

    une petite idée ?

  5. #5
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Pour éviter les éventuels problèmes de formulaires fais une requête directement dans phpMyAdmin ou autre client MySQL.

  6. #6
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2011
    Messages : 70
    Par défaut
    Bonjour

    Oui c'est ce que je fais tout le temps. En fait le problème venait du fait que le fulltext ne renvoie aucun résultat si votre table ne contient pas au moins 3 entrées. Tout simplement... Merci pour votre aide

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

Discussions similaires

  1. Recherche livre MySQL 5
    Par hphil dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 06/07/2006, 21h14
  2. [SGBD] Recherche PHP+MySQL
    Par gaucher dans le forum Requêtes
    Réponses: 4
    Dernier message: 17/05/2006, 14h43
  3. Requete générale MySQL
    Par cedre22 dans le forum Requêtes
    Réponses: 2
    Dernier message: 30/01/2006, 11h43
  4. Recherche BDD MySQL
    Par Gauth dans le forum Bases de données
    Réponses: 3
    Dernier message: 21/04/2005, 20h26

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