On 13 Dec, 2006, at 12:38, Stéphane wrote:
Pierre Andrews a écrit :
Stéphane wrote:
ADB a écrit :
Stéphane a écrit :
Bonjour !
J'ai une boucle sur une table et je veux récupéréer des balises hors de la boucle.
<BOUCLE_matable(SPIP_MATABLE){id_personne=#ENV{id_personne}}>
#NOM
</BOUCLE_matable>
#_matable:TOTAL_BOUCLE
#_matable:ID_PERSONNE
#_matable:NOM
Effectivement ça marche comme ça. Merci pour la réponse. Du coup ça ne m'arrange pas trop, tant pis!
c'est une boucle, donc tu peux avoir plusieurs résultats, donc ça ne veut rien dire de demander les valeurs en dehors de la boucle, parce qu'on ne sait pas de quelle itération de la boucle tu parles.
pourquoi tu veux faire cela? pourquoi ne peux tu pas mettre les balises DANS la boucle?
id_personne étant ma clé primaire, je n'ai qu'une seule réponse.
donc si tu mets les balises DANS la boucle, ça revient au même, non?
En fait, je remplis des formulaires qui sont réparties comme ça
PERSONNE1 PERSONNE2 sur deux colonnnes, donc ça fait
<tr><td>champ1personne1</td><td>champ1personne2</td></tr>
...
Pour récupérer les balises, il faut que je fasse une boucle pour chaque <td></td> ce qui n'est pas terrible.
Voilà pourquoi j'aurai aimeé récupérer ça à l'extérieur des boucles que j'aurai pu placer avant le formulaire
si tu a 2 personnes fixes, et que chaque boucle MATABLE retourne seulement 1 resultat, alors tu peux les imbriquer sans problème:
<BOUCLE_pers1(SPIP_MATABLE){id_personne=1}>
<BOUCLE_pers2(SPIP_MATABLE){id_personne=2}>
<tr><td>#_pers1:NOM</td><td>#_pers2:NOM</td></tr>
...
</BOUCLE_pers2>
</BOUCLE_pers1>
sinon, la solution du #SET et #GET proposée dans une autre réponse marchera aussi si celle ci te plait pas.
Si tu as un nombre variable de personne et de colonne, alors c'est plus dur (que ce soit avec cette methode ou avec les SET et GET, ce sera le même problème). Perso, je pense que si tu arrives pas à faire une table avec des boucles simples, alors c'est que les données que tu essaies d'afficher ne sont pas vraiment tabulaire et que tu utilises les tables pour une simple raison de mise en page, ce qui est MAL (perso c'est mon avis), et à ce moment là, tu devrais plutôt utiliser un marquage plus logique que tu affiches en 2 colonnes à travers css.
Dans ton cas, c'est clairement N fieldsets différents qu'il te faut, 1 par personne, placé l'un apres l'autre, avec des labels comme il faut etc... et puis avec css tu déplaces ces fieldsets pour creer l'affichage en colonne, et si tu veux vraiment, tu caches les labels des sets qui ne sont pas le premier.
Enfin, je suis pas expert en mise en page ou quoi que cesoit hein 
Pierre