|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Florian silesWebmaster Inscription : juin 2011 Messages : 59 ![]() |
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 |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 823 ![]() |
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 |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Florian silesWebmaster Inscription : juin 2011 Messages : 59 ![]() |
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 ... ?
|
|
|
00
|
|
|
#4 | ||
|
Membre du Club
![]() Florian silesWebmaster Inscription : juin 2011 Messages : 59 ![]() |
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 :
J'ai cherché mais je vois pas ce que j'ai loupé.. une petite idée ? |
||
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 823 ![]() |
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 |
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Florian silesWebmaster Inscription : juin 2011 Messages : 59 ![]() |
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 |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com