11 May 17:57
Ecrire sa propre balise OU faire une jointure
Cédric PROTIERE <cedric.protiere <at> auf.org>
2007-05-11 15:57:59 GMT
2007-05-11 15:57:59 GMT
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=''>-=[É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
RSS Feed