Je détaille un peu plus,
- Ma recherche est stockée dans une variable appelée 'rech' qui peut donc contenir un ou plusieurs mots.
- J'ai 3 tables dans ma DB, une table de thème, une table de sujet et une table de réponses.
Voici a quoi ressemble un affichage :
- thème1
--- sujet1
------ reponse1
------ reponse2
--- sujet2
------ reponse
--- sujet3
J'ai essayé pas mal de choses et chaque fois j'ai un résultat incomplet.
Tout d'abord,
SELECT * FROM reponses,sujet,themes
WHERE reponses.fk_sujet = sujets.id_sujet
AND sujets.fk_theme = themes.id_themes (les jointures habituelles)
AND (theme LIKE '%#rech#%'
OR sujet LIKE'%#rech#%' (theme,sujet,reponse = variables contenant l'intitulé correspondant)
OR reponse LIKE '%#rech#%')
Bon après je pense que le problème se situe dans mes conditions d'affichage car je n'avais que les thèmes dans lesquels apparaissaient les mots de la recherche, mais dans le cas ou un sujet et/ou une réponse contient un terme de la recherche (mais pas le thème) ceux-ci ne s'affiche pas.
Donc j'aimerais savoir si ma requête parait correcte et éventuellement comment tester mes différentes conditions (et s'il y a un ordre précis pour le faire).
Ah aussi, j'ai un petit soucis, comment effectuer un cfif sur un LIKE SQL?
(j'ai essayé un IsDefined(......) ou un truc du genre mais ça avait pas l'air d'aller mieux, peut-être un soucis de programmation de ma part...)
PS : Merci nickadele pour toutes tes réponses sur tout le forum qui m'ont sorti plus d'une fois de la m****
