Version complète: sur le forum Webmaster Hub : Requête SQL MATCH
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > SQL
yep
Bonjour

pour pouvoir détecter la présence d'un mot clé dans un champ d'une base, il est possible d'écrire une requête du type :
CODE
SELECT
MATCH('nom_colonne') AGAINST ('mot_cle') AS 'valeur'
FROM nom_table
WHERE
MATCH('nom_colonne') AGAINST ('mot_cle')


(plus d'infos : -http://omiossec.developpez.com/mysql/fulltext/etudes/)

Cette requête s'effectue sur une colonne; est-il possible de le faire sur plusieurs colonnes (3 par exemple) en y intégrant des pondérations ?
soit une requête pouvant ressembler à ça (sans les pondérations) :

CODE
SELECT
MATCH('nom_colonne') AGAINST ('mot_cle') AS 'valeur',
MATCH('nom_colonne2') AGAINST ('mot_cle') AS 'valeur2',
MATCH('nom_colonne3') AGAINST ('mot_cle') AS 'valeur3'
FROM nom_table
WHERE MATCH('nom_colonne') AGAINST ('mot_cle')


Avec cette requête, aucune pondération n'est de mise. On peut créer la pondération avec du PHP, mais est-il possible de le faire en SQL ?
snoozer
Si tu veut faire un match sur plusieurs colonnes tu peut le faire comme ca :

SQL
WHERE MATCH (colonne1, colonne2, colonne3) AGAINST ('chainerechercher')


mais a premiere vu pas de ponderation possible dans le SQL.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.