J'aurais besoin d'un petit coup de main...
Je suis en train de faire un moteur de recherche pour mon site (qui parle de cinoche).
Au début, je suis parti sur un truc tout simple, du type (je vous la fait courte)
SELECT titre_du_film, acteur1, acteur2, acteur3 FROM table1 WHERE (acteur1 LIKE '%".$recherche."%' OR acteur2 LIKE '%".$recherche."%' OR acteur3 LIKE '%".$recherche."%')
'titre_du_film', 'acteur1', 'acteur2' et 'acteur3' étant des champs de ma table, bien sûr.Le résultat est marrant si on tape un titre, ca marche bien, mais ca me pose un problème : ca me retourne l'entrée où le texte a été trouvé, mais pas le champs dans lequel il a été trouvé!
Or, moi, j'aurais besoin de savoir dans quel champ il l'a trouvé pour les acteurs...
Je sais pas si je me fais bien comprendre, alors voici un exemple :
ex: Je cherche un type qui s'appelle "charles", mais je sais plus son nom.
Je rentre "charles" dans le moteur.
Et ca tombe bien, j'en ai plusieurs dans ma table:
- dans une entrée, 'acteur2', il y a Charles Bronson,
- dans une autre entrée, il y a "charles bidule" dans le champ 'acteur3'.
Après, je voudrais que ma boucle affiche tous les "Charles" de la table :
Charles Bronson
Charles bidule
Charles machin"
etc.
Bref, la question en elle même:
Y a-t-il moyen de connaitre le champ dans lequel une requête SQL trouve l'occurance de la chaine de caractère recherchée?
J'ai cherché du coté de 'mysql_field_name', pas concluant...
puis avec ça :
if ($donnees=mysql_fetch_assoc($req))
{
while(list($key, $val)=each($donnees))
{
echo 'clef du tableau ='.$key.'<br/> chaine='.$val.'<br/>';
}
}
Ce dernier est un peu plus concluant, mais il me fait évidement un listing de touts les champs séléctionnés du tableau. Or moi, je veux uniquement celui où il a trouvé la chaine de caractère.Si vous pouviez m'aider là, parce que je m'arrache les cheveux...
Merci !