-
- Téléchargements
Ajout d'une déclaration de jointure pour pouvoir utiliser le critère id_mot...
Ajout d'une déclaration de jointure pour pouvoir utiliser le critère id_mot dans une boucle syndic_articles. En particulier, le squelette de SpipContrib contenant: {{{ <BOUCLE_motsiteszone(MOTS){id_mot=233}> <BOUCLE_siteszone(SITES){id_mot}> <BOUCLE_syndiczone(SYNDIC_ARTICLES){id_syndic}{doublons zone}> .... </BOUCLE_syndiczone> </BOUCLE_siteszone> </BOUCLE_motsiteszone> }}} dont la première boucle était déjà superflue ({{{id_mot=233}}} pouvait se mettre comme critère de la 2e boucle), peut maintenant s'écrire avec une seule: {{{ <BOUCLE_syndiczone(SYNDIC_ARTICLES){id_mot=233}{doublons zone}> ... </BOUCLE_syndiczone> }}} et se compile en: {{{ SELECT syndic_articles.id_syndic_article, syndic_articles.id_syndic FROM Essai_syndic_articles AS `syndic_articles` INNER JOIN Essai_mots_syndic AS L1 ON syndic_articles.id_syndic=L1.id_syndic INNER JOIN Essai_syndic AS L2 ON syndic_articles.id_syndic=L2.id_syndic WHERE (L1.id_mot = '233') AND ((syndic_articles.id_syndic_article NOT IN (0))) AND (syndic_articles.statut = 'publie') AND (L2.statut = 'publie') GROUP BY syndic_articles.id_syndic_article,syndic_articles.id_syndic }}} Le {{{IN (0)}}} correspond au cas d'un {{{doublons zone}}} vide, ce qui est le cas du squelette de SpipContrib. Le gain est donc dans l'évacuation d'une boucle enchassant une boucle avec un IN qui grossissait à chaque itération de la boucle englobante.
parent
40898f8a
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Veuillez vous inscrire ou vous se connecter pour commenter