Jointure complexe

Hello

Je souhaiterais compter les documents d'un secteur qu'il soient liés à un article ou à une rubrique. Pour une année et une extension donnée...

Ceci fonctionne pour les document d'articles
<BOUCLE_documents(DOCUMENTS articles){id_secteur?}{extension=#GET{extension}}{annee=#VALEUR}>
Ceci fonctionne pour les document de rubriques
<BOUCLE_documents(DOCUMENTS rubriques){id_secteur?}{extension=#GET{extension}}{annee=#VALEUR}>

Je sèche...

--
Yffic Cloarec
Le Fourneau, Centre national des arts de la rue [en Bretagne]
http://www.lefourneau.com / http://www.cliclarue.info

Le 23/09/11 23:03, Yffic a écrit :

Je souhaiterais compter les documents d'un secteur qu'il soient liés à
un article ou à une rubrique. Pour une année et une extension donnée...

je ferais ça en deux boucles plus un calcul:

<BOUCLE_d_a(DOCUMENTS) {documents_liens.objet IN article,rubrique}
{articles.id_secteur?}{extension=#GET{extension}} {annee=#VALEUR} />

<BOUCLE_d_r(DOCUMENTS) {documents_liens.objet IN article,rubrique
{rubriques.id_secteur?}{extension=#GET{extension}} {annee=#VALEUR} />

[(#VAL{#_d_a:TOTAL_BOUCLE}|plus{#_d_r:TOTAL_BOUCLE}|div{#ID_SECTEUR|?{1,2}})]

les boucles comptent les doc des articles ou rubrique en se limitant
au secteur de l'environnement si présent, sinon tous les docs liés
aux seuls articles ou rubriques.

si ID_SECTEUR dans l'environnement, on additionne ces 2 résultats
sinon on divise ce total par 2, puisque dans ce cas tous les docs liés
aux articles ou aux rubriques auront été compté 2 fois.

ouali, oualou

Le 24/09/11 00:29, denisb a écrit :

je ferais ça en deux boucles plus un calcul:

je crois un peu plus simple (évacuons test et division) :

<BOUCLE_d_a(DOCUMENTS) {documents_liens.objet = article}
{articles.id_secteur?} {extension=#GET{extension}} {annee=#VALEUR} />

<BOUCLE_d_r(DOCUMENTS) {documents_liens.objet = rubrique
{rubriques.id_secteur?} {extension=#GET{extension}} {annee=#VALEUR} />

[(#VAL{#_d_a:TOTAL_BOUCLE}|plus{#_d_r:TOTAL_BOUCLE})]

là, sans ID_SECTEUR dans l'environnement, _d_a ne comptera que
les documents liés aux articles ; et _d_r ceux liés aux rubriques

inutile donc de diviser la somme par 2

Le 24/09/11 00:56, denisb a écrit :

je crois un peu plus simple (évacuons test et division) :

pfff décidemment...

<BOUCLE_d_a(DOCUMENTS) {documents_liens.objet = article}
{articles.id_secteur?} {extension=#GET{extension}} {annee=#VALEUR} />

<BOUCLE_d_r(DOCUMENTS) {documents_liens.objet = rubrique}
{rubriques.id_secteur?} {extension=#GET{extension}} {annee=#VALEUR} />

[(#_d_a:TOTAL_BOUCLE|plus{#_d_r:TOTAL_BOUCLE})]

allez hop : une tisane et au lit !

Super, ca fonctionne...
Merci Denis

Le 24/09/2011 01:03, denisb a écrit :

Le 24/09/11 00:56, denisb a écrit :

je crois un peu plus simple (évacuons test et division) :

pfff décidemment...

<BOUCLE_d_a(DOCUMENTS) {documents_liens.objet = article}
{articles.id_secteur?} {extension=#GET{extension}} {annee=#VALEUR} />

<BOUCLE_d_r(DOCUMENTS) {documents_liens.objet = rubrique}
{rubriques.id_secteur?} {extension=#GET{extension}} {annee=#VALEUR} />

[(#_d_a:TOTAL_BOUCLE|plus{#_d_r:TOTAL_BOUCLE})]

allez hop : une tisane et au lit !

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

--
Yffic Cloarec
Le Fourneau, Centre national des arts de la rue [en Bretagne]
http://www.lefourneau.com / http://www.cliclarue.info