|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Alexandre SagetteÉtudiant Inscription : décembre 2006 Messages : 36 ![]() |
Bonjour,
je souhaite récupérer des données d'une base gérée par un site Worpress. N'étant pas libre de l'organisation de cette base, il me faut récupérer des enregistrements avec condition sur deux enregistrements:
Comment puis-je faire pour récupérer un article avec un critère sur deux informations ? |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Cédric DuprezInscription : avril 2002 Messages : 3 823 ![]() |
Bonjour,
Si j'ai bien compris la question (mais un petit exemple des données contenues et du résultat attendu nous aurait d'avantage permis de comprendre le problème), il suffit de faire 2 jointures sur la table des infos, avec chaque info précisée dans la condition de jointure. Puis mettre les conditions dans la clause WHERE.
__________________
Rédacteur / Modérateur SGBD Mes tutoriels et la FAQ MySQL ---------------------------------------------------- Pensez aux balises code et au tag Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
|
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Alexandre SagetteÉtudiant Inscription : décembre 2006 Messages : 36 ![]() |
Un exemple
table wp_posts: id, post_title, post_content table wp_postmeta: id_meta, id_post, meta_key, meta_value (j'ai renommé certains champs pour plus de clarté) exemples enregistrements: wp_posts (5, 'je suis un titre', 'je suis un article') (6, 'blabla', blablabla') … wp_postmeta (1, 5, 'region', 'Alsace') (2, 5, 'filiere', 'Bac') (3, 6, 'region', 'Bretagne') (4, 6, 'filiere', 'BTS') (5, 7, 'region', 'Alsace') (6, 7, 'filiere', 'BEP') … Pour obtenir uniquement les articles concernant telle région ou telle filière, cela ne me pose pas de problème. Ce qui m'en pose en revanche, c'est d'obtenir les articles de l'Alsace et Bac par exemple. |
|
|
00
|
|
|
#4 | ||
![]() ![]() ![]() Cédric DuprezInscription : avril 2002 Messages : 3 823 ![]() |
Et donc, avec 2 jointures, ça donne :
Code :
__________________
Rédacteur / Modérateur SGBD Mes tutoriels et la FAQ MySQL ---------------------------------------------------- Pensez aux balises code et au tag Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
|
||
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Alexandre SagetteÉtudiant Inscription : décembre 2006 Messages : 36 ![]() |
J'intègre le code et je vous tiens au courant.
Merci |
|
|
00
|
|
|
#6 |
|
Candidat au titre de Membre du Club
![]() Alexandre SagetteÉtudiant Inscription : décembre 2006 Messages : 36 ![]() |
Cela n'a pas fonctionné.
J'ai testé avec m1.meta_value = 'Lorraine' et m2.meta_value = 'BTS' pour correspondre avec mes données. J'ai joint des exemples de mes deux tables en image. Ce sera sans doute plus parlant… |
|
|
00
|
|
|
#7 |
![]() ![]() ![]() Cédric DuprezInscription : avril 2002 Messages : 3 823 ![]() |
Ça veut dire quoi exactement "cela n'a pas fonctionné" ? Pas le résultat attendu ? Un message d'erreur ?
La requête que j'ai fournie, avec les éléments à disposition, fonctionne (pour une fois que je teste...). En revanche, à la lecture des copies d'écran, je vois qu'il faut rajouter un S à 'region' et 'filiere' dans ma requête pour que ça renvoie un résultat. Mais ça, je ne pouvais pas le savoir... Ça marche mieux en rajoutant le "s" ?
__________________
Rédacteur / Modérateur SGBD Mes tutoriels et la FAQ MySQL ---------------------------------------------------- Pensez aux balises code et au tag Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
|
|
|
00
|
|
|
#8 |
|
Candidat au titre de Membre du Club
![]() Alexandre SagetteÉtudiant Inscription : décembre 2006 Messages : 36 ![]() |
shame on me…
Ça fonctionne avec les -s. Merci beaucoup pour votre aide, je ne m'en sortais plus. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com