Bonjour,
Je cherche depuis un moment comment réussir ce tri à partir de ma base MySQL, c'est un peu tordu donc je vais essayer d'être clair :
D'abord le contexte : c'est une extraction pour mon site http://aleph2at.free.fr (site non commercial) pour afficher les articles principaux d'éléments qui cite l'article en cours.
Un élément peut avoir plusieurs articles mais il a forcément un article principal.
Un élément peut être différente chose (donc différente table) une écriture, un homme, une machine d'imprimerie, un mot du glossaire....
J'ai donc :
- une table article
- une table article-element avec le lien de parenté (article dans élément - ce cas veut dire que l'article est un des articles de l'élément - ou élément dans l'article - ce dernier cas veut dire que l'élément à un article qui cite l'article en question)
- et différentes table (écritures, hommes, machines, glossaire....)
et je fais donc la requête suivante :
Mais ce qui manque c'est de pouvoir trier sur le titre de l'élément. Mais ce titre est dans différentes tables.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT articles_elements.Articles_Id FROM articles_elements, articles, articles_elements as articles_elements_01 wHERE (articles_elements.Elements_Id = ".$Article->Element->Id." AND articles_elements.Tables_Id = ".$Article->Element->Table->Id." AND articles_elements.Sens = 'ElDsArt') AND (articles_elements_01.Articles_Id = articles_elements.Articles_Id AND articles_elements_01.Sens = 'ArtDsEl') AND articles.Id = articles_elements.Articles_Id GROUP BY articles_elements.Articles_Id ORDER BY articles_elements_01.Tables_Id ASC
Pour voir un cas concret, regardez la page http://aleph2at.free.fr/index.php?art=779 en bas de page dans la zone : "Cet élément est cité dans les articles suivants"
Si quelqu'un a une idée ???
Partager