Bonjour,
J'ai un petit souci avec mes requêtes de recherche en fulltext.
J'ai suivi l'exemple suivant : http://omiossec.developpez.com/mysql/fulltext/etudes/
et j'ai donc créé ma table :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 CREATE TABLE `pieces` ( `Id` int(11) NOT NULL auto_increment, `Ref` varchar(20) NOT NULL default 'NEW', `Cat` varchar(255) NOT NULL default 'NEW', `Nom` varchar(255) NOT NULL default 'Nouvelle fiche', `Description` text character set utf8 collate utf8_unicode_ci NOT NULL, `Photos` text character set utf8 collate utf8_unicode_ci NOT NULL, `Poids` float(11,2) NOT NULL default '0.00', `Prix` float(11,2) NOT NULL default '0.00', `Stock` tinyint(11) NOT NULL default '0', `Actif` tinyint(4) NOT NULL default '0', PRIMARY KEY (`Id`), FULLTEXT KEY `Ref` (`Ref`,`Nom`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Table des pièces détachées' AUTO_INCREMENT=9 ; -- -- Contenu de la table `pieces` -- INSERT INTO `pieces` VALUES (3, 'NEW', 'NEW', 'Nouvelle fiche', 'Desc nouvelle fiche', '', 0.00, 0.00, 0, 0);
Puis mon code php pour tester ma requete :
Et là je n'ai aucun résultat...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 $tosearch = 'NEW'; $strSQL = "SELECT Ref, MATCH (Nom, Ref) AGAINST ('".$tosearch."') AS cpt FROM pieces WHERE MATCH (Nom, Ref) AGAINST ('".$tosearch."') ORDER BY cpt DESC"; $resultat = requete_SQL($strSQL); $retour = ''; if(mysql_num_rows($resultat)==0) { echo 'pas de résultats'; } while($result = mysql_fetch_array($resultat)) { $retour.=$result['Ref'].'<br />'; } echo $retour;
Pourtant, si je suis à la lettre le tuto avec la table proposée, ça marche sans aucun souci.
Quelqu'un aurait une idée du pourquoi ma requête ne me retourne pas de résultat ?
Merci d'avance pour votre aide précieuse![]()
Partager