J'écris un module qui permet d'ajouter rapidement des utilisateurs en fournissant Prénom et Nom (sans adresse ou nom d'utilisateur). Ces utilisateurs sont "fantômes", juste pour un usage temporaire. Avant d'ajouter un module utilisateur, vérifiez si l'utilisateur avec le même prénom et le même nom existe déjà dans le système pour éviter de créer plusieurs utilisateurs fantômes avec les mêmes noms. En d'autres termes - J'ai besoin d'une requête sql pour filtrer les utilisateurs par le dernier prénom AND. Comme jusqu'à présent j'ai pu produire une telle requête:Drupal recherche utilisateur par profil nom et prénom requête
$sql = "SELECT DISTINCT u.uid AS uid FROM users u INNER JOIN profile_values pv ON u.uid = pv.uid INNER JOIN profile_fields pf ON pv.fid = pf.fid "
."WHERE pf.fid = 2 AND pv.value = '%s'";
$uid = db_fetch_object(db_query("$sql", $ln))->uid;
Cette requête n'est pas bon enought car il trouve que l'utilisateur en faisant correspondre lastname. Je ne suis pas expert sql, mais je ne sais pas comment joindre les tables pour affiner les résultats si prenom et nomFamille sont présents: Quelque chose comme ça
WHERE pf.fid = 2 AND pv.value = 'LASTNAME' AND pf.fid = 1 AND pv.value = 'FIRSTNAME';
Dans ma table profile_fields je: fid = 2 -> lastname fid = 1 -> firstname
Et la dernière clause WHERE ne fonctionnera pas. J'espère que ceux qui sont familiers avec la relation des tables de profil utilisateur dans le système Drupal savent ce que je demande.
Vous êtes bon. Cela a fonctionné comme un charme et une requête si propre. J'ai essayé de voir comment le module Views le construira mais il en produira beaucoup un sale ;-) – Lukasz
Oui. Je connaissais {}. Je viens de le coller de mon générateur de requêtes. – Lukasz