[spip-dev] Selection vide sur boucle nouvelle table

Bonjour,

spip 1.9. J'ai une table de publications et une table de joint id_publi/id_auteur. Je n'ai déclaré aucune des deux. Je me fais une boucle sur les publi (qui tourne bien), puis je veux récolter ses auteurs (c'est là que ça se gâte). Je fais donc:

<BOUCLE_pub(PUBLICNRS){par ann_pub}>
<BOUCLE_publi_auteurs(PUBLI_AUTEURS){id_publi=#_pub:ID_PUBLI}>

Manque de pot, le debuggueur me dit que la requête mysql pour cette 2ème boucle (qui contient en particulier la balise #_publi_auteurs:ID_AUTEUR) ne sélectionne rien du tout:

BOUCLE_publi_auteurs(PUBLI_AUTEURS){id_publi=#_pub:ID_PUBLI}
SELECT 1
FROM publi_auteurs AS publi_auteurs
WHERE publi_auteurs.id_publi = '80'

Quelqu'un a une idée? Merci, Christian Mercat

<BOUCLE_pub(PUBLICNRS){par ann_pub}>
<BOUCLE_publi_auteurs(PUBLI_AUTEURS){id_publi=#_pub:ID_PUBLI}>

Toutes seules en fait elles tournent, elles me donnent toutes les publis et leurs auteurs. Il semble que ce qui met la zone, c'est une troisième boucle interne à ces 2 là, qui filtre les auteurs que je veux et ceux que je ne veux pas:

<BOUCLE_auteurs_generale(AUTEURS){id_auteur=#_publi_auteurs:ID_AUTEUR}{statut=="(0minirezo|1comite)"}{par #ENV{tri,nom},nom}{nom==(#ENV{nom,.*})}{emploi==(#ENV{statut,(PR|MCF|DR CNRS>CR CNRS|PREmerite|Assistant|Ing. Rech.|IE CNRS|IE RF|Tech. RF|ASI RF>Associé>Post Doc|Postdoc CNRS|PRAG|ATER|AMN|All. Rech.|Doctorant|ADA|AGA|ADT)})}{equipe==(#ENV{equipe,(GTA|AC|Proba|IREM|^$)})}{bureau==(#ENV{bureau,.*})}{telephone==(#ENV{telephone,.*})}{id_au

99}>

Vous comprenez pourquoi je ne l'avais pas citée. Mais je l'ai copié-collée d'un autre squelette d'annuaire qui va très bien: http://safran.math.univ-montp2.fr/SPIP/auteur.php3

En plus, quand je ne fais que <BOUCLE_auteurs_generale(AUTEURS){id_auteur=#_publi_auteurs:ID_AUTEUR}> tout bête, c'est-à-dire aller chercher l'auteur dans la base des auteurs, publi_auteurs est complètement mise à mal (elle fait SELECT 1 FROM publi_auteurs)

En gros, l'id_auteur apparaissant dans la boucle (AUTEURS) masque l'id_auteur de la boucle (PUBLI_AUTEURS)...

La chose est, je ne vois pas comment filtrer sur les auteurs et ranger les publications corrspondantes par date. Je ne peux même pas faire un peu de php, agréger tous les auteurs choisis dans une variable et faire un IN dans la table de joint vu que les joints automatiques ne fonctionnent pas. Bon, je peux tricher et m'écrire ma requête mysql tout seul aussi, mais j'aurai aimé rester en spip.