Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/12/2011, 07h37   #1
Membre du Club
 
Homme Florian siles
Webmaster
Inscription : juin 2011
Messages : 59
Détails du profil
Informations personnelles :
Nom : Homme Florian siles
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Webmaster
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : juin 2011
Messages : 59
Points : 47
Points : 47
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
flozza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2011, 13h33   #2
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 823
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

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

Informations forums :
Inscription : mars 2005
Messages : 2 823
Points : 3 454
Points : 3 454
Regarde du côté du FULLTEXT MySQL : http://dev.mysql.com/doc/refman/5.0/...xt-search.html
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2011, 17h49   #3
Membre du Club
 
Homme Florian siles
Webmaster
Inscription : juin 2011
Messages : 59
Détails du profil
Informations personnelles :
Nom : Homme Florian siles
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Webmaster
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : juin 2011
Messages : 59
Points : 47
Points : 47
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 ... ?
flozza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 01h00   #4
Membre du Club
 
Homme Florian siles
Webmaster
Inscription : juin 2011
Messages : 59
Détails du profil
Informations personnelles :
Nom : Homme Florian siles
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Webmaster
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : juin 2011
Messages : 59
Points : 47
Points : 47
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 :
 SELECT * FROM modeles WHERE MATCH(libelle,description,color) AGAINST('".$_POST['words']."')

Indexes:
Code mysql :
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 ?
flozza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 09h49   #5
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 823
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

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

Informations forums :
Inscription : mars 2005
Messages : 2 823
Points : 3 454
Points : 3 454
Pour éviter les éventuels problèmes de formulaires fais une requête directement dans phpMyAdmin ou autre client MySQL.
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 16h59   #6
Membre du Club
 
Homme Florian siles
Webmaster
Inscription : juin 2011
Messages : 59
Détails du profil
Informations personnelles :
Nom : Homme Florian siles
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Webmaster
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : juin 2011
Messages : 59
Points : 47
Points : 47
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
flozza est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h00.


 
 
 
 
Partenaires

Hébergement Web