Cédric PROTIERE | 11 May 17:57

Ecrire sa propre balise OU faire une jointure

Bonjour

Je me souviens qu'il est possible d'écrire sa propre balise sous spip, 
mais je n'ai pas trouvé la doc sur internet (il faut dire que 
spip-contrib ne répond pas à l'heure où je rédige ce message : erreur mysql)
J'ai plusieurs tables mysql (ISAM donc pas de clé étrangère) et je dois 
faire des jointures entre ces tables (parfois jointures classiques, 
parfois LEFT JOIN).

J'ai par exemple les tables odb_ref_departement, odb_ref_etablissement 
et odb_candidats suivantes :

odb_departement
---------------
id
departement

odb_etablissement
-----------------
id
etablissement
id_departement

odb_candidats
-------------
id_saisie
id_table
nom
prenoms
etablissement
serie
departement

NOTE : dans la table odb_candidats, etablissement est un 
id_etablissement (mal nommé, donc), serie un id_serie, departement un 
id_departement, etc.

et je souhaiterai afficher les informations d'un candidat en fonction de 
l'établissement et la série sélectionnés dans une liste input.
Pour l'instant, aucun problème pour commencer, mais j'ai besoin de votre 
aide pour pouvoir faire la jointure entre odb_candidats et 
odb_ref_etablissement dans l'objectif d'afficher le nom de 
l'établissement et non son identifiant.

Voici mon code actuel si cela peut vous aider :

   <form name='liste_candidats' method='GET' action='spip.php'>
      <input type='hidden' name='page' value='liste_candidats'>
      <select name='etablissement' 
onchange="document.forms['liste_candidats'].submit();">
         <OPTION VALUE=''>-=[&Eacute;tablissements]=-</OPTION>
         <BOUCLE_departement(ODB_REF_DEPARTEMENT){par departement}>
            <optgroup label='#DEPARTEMENT'>

<BOUCLE_etablissement(ODB_REF_ETABLISSEMENT){id_departement=#ID}{par 
etablissement}>
               <OPTION VALUE='#ID' >#ETABLISSEMENT</OPTION>
            </BOUCLE_etablissement>
            </optgroup>
         </BOUCLE_departement>
      </select>
   </form>

   <B_candidats>
   <p>#PAGINATION</p>
   <table>
      <BOUCLE_candidats(ODB_CANDIDATS){annee=2007}{etablissement}{par 
nom, prenoms}{pagination}>
         <tr><th>#ID_TABLE</th><td>#NOM #PRENOMS</td></tr>
      </BOUCLE_candidats>
   </table>

Merci pour votre aide
Cédric

Gmane