Bonsoir
Mysql permet de faire des recherches à partir de mots clefs, c'est particulièrement pratique, par contre tes tables doivent êtres en MyISAM.
la recherche ne se fait que sur des champs texte (TEXT, VARCHAR, etc...)
pour la structure de ta table :
CREATE TABLE livres (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
title VARCHAR(70),
body TEXT,
FULLTEXT (title,body)
);
FULLTEXT définie ici les champs où tu fera ta recherche dans notre cas on fera des recherches dans 'title' et 'body'
un petit exemple d'enregistrement :
INSERT INTO livres VALUES
(NULL,'Apprendre Mysql', 'db database mysql phpmyadmin');
et enfin une recherche :
SELECT * FROM livres
WHERE MATCH (title,body) AGAINST ('phpmyadmin');
rien n'empeche de remplacer 'phpmyadmin' par une suite de mots clefs ou une phrase.
pour finaliser un peu faire apparaitre un indice de pertinence:
SELECT id, body, MATCH (title,body) AGAINST
('utilisation de phpmyadmin') AS score
FROM livres WHERE MATCH (title,body) AGAINST
('utilisation de phpmyadmin');
le champ score contiendra un indice de pertinence,un petit order by dessus pour trier en ascendant.