Trouver si une lettre existe dans le champ d'une table dans un SELECT
Bonjour,
Dans une table de ma base de données j'ai un champ 'id_region' codé de la façon suivante :
a = Alsace
b = Aquitaine
c = Auvergne
// Ici la suite des régions...
u = Provence-Alpes-Côte d'Azur
v = Rhône-Alpes
Par exemple si un membre se déplace en Aquitaine et en Rhône-Alpes, le champ 'id_region' sera égal à 'bv', et si un autre se déplace en Alsace, Aquitaine et Provence-Alpes-Côte d'Azur, il sera codé 'abu'.
J'ai codé de cette façon afin d'économiser 21 champs par enregistrement dans ma base de données : au lieu d'avoir 22 champs (1 par région), je n'en ai qu'un seul dans lequel sont stockées toutes les régions ou le membre se déplace.
Sur mon site je suis en train de développer la fonction de recherche ou l'utilisateur peut rechercher les membres qui se déplacent dans sa région. Il peut donc sélectionner à l'aide d'un menu déroulant les membres qui se déplacent par exemple dans le Limousin (lettre 'n'). Il ne peut sélectionner qu'une seule région par recherche et la variable s'appelle $id_region.
Je dois maintenant afficher le résultat, mais je ne sais pas comment faire le SELECT... :(
Il faudrait donc vérifier que la lettre 'n' est présente ou non dans le champ 'id_region' de chaque membre, qui par exemple peut être égal à 'abdgntuv'.
Il faudrait faire un SELECT du genre... :
Code:
$sql = "SELECT membre FROM table WHERE id_region = strpos(region, $id_region)";
Mais je ne crois pas qu'on puisse mettre du PHP dans une commande SQL...
Bref vous l'avez compris je ne sais comment m'y prendre...!
Quelqu'un a t'il une idée ?
Merci de votre aide