Bonjour à tous,

Je fais une requête de recherche dans une table de users, après un formulaire avec divers champs de critères, dont mots-clés.

voici la dernière partie de la requête concernant le mot-clé, justement :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
if($f['mc'] != ""){
$sql .= " AND (pseudo LIKE '%".$f['mc']."%' 
|| adresse LIKE '%".$f['mc']."%' 
|| adresse2 LIKE '%".$f['mc']."%' 
|| ville LIKE '%".$f['mc']."%' 
|| code_postal LIKE '%".$f['mc']."%' 
|| pays LIKE '%".$f['mc']."%') ";
}
Le problème est que les champs "ville" et pays" de la table "users" sont des champs numériques faisant référence (clé) à une table "ville" (id, nom) et "pays" (id, nom).

Exemple :
Table users : champ ville = 4582
Table villes : id | 4582 - Nom | Paris

Évidemment, un internaute ne va pas saisir 4582 dans le form de recherche, mais Paris. Dans ces conditions, comment articuler la sous-requête pour aller chercher l'ID de Paris dans la table "villes" et récupérer les users correspondant dans la table des users ?

Merci de vos conseils.