Bonjour
Soit deux tables insues des données insee des communes et des
départements. déclarées de la manière suivante par le pipeline
"declarer_tables_principales"
function utils_declarer_tables_principales($tables_principales){
// la table insee des communes
$insee_communes_champs = array(
'insee' => 'varchar(5) NOT NULL default \'00000\'',
'cdc' => 'char(1) default NULL',
'cheflieu' => 'char(1) default NULL',
'reg' => 'char(2) default NULL',
'dep' => 'char(3) default NULL',
'com' => 'char(3) default NULL',
'ar' => 'char(1) default NULL',
'ct' => 'char(2) default NULL',
'tncc' => 'char(1) default NULL',
'article' => 'varchar(5) default NULL',
'ville' => 'varchar(64) default NULL',
);
$insee_communes_cles = array(
'PRIMARY KEY' => 'insee',
);
$insee_communes_jointures = array(
'dep' => 'dep',
'insee' => 'insee',
);
$tables_principales['spip_insee_communes'] = array(
'field' => &$insee_communes_champs,
'key' => &$insee_communes_cles,
'join' => &$insee_communes_jointures,
);
// table des départements
$insee_departements_champs = array(
'region' => 'char(2) NOT NULL',
'dep' => 'char(3) NOT NULL',
'chef_lieu' => 'varchar(5) NOT NULL',
'tncc' => 'char(1) NOT NULL',
'departement' => 'varchar(64) NOT NULL',
);
$insee_departements_cles = array(
'PRIMARY KEY' => 'dep',
);
$insee_departements_jointures = array(
'dep' => 'dep',
);
$tables_principales['spip_insee_departements'] = array(
'field' => &$insee_departements_champs,
'key' => &$insee_departements_cles,
'join' => &$insee_departements_jointures,
);
// fin déclarations
return $tables_principales;
} // fin declarer_tables_principales
Ensuite déclaration des tables pour pouvoir faire les boucles et les
jointures par declarer_tables_interface
function utils_declarer_tables_interfaces($interface){
// les noms des tables dans les boucles
$interface['table_des_tables']['insee_communes'] = 'insee_communes';
$interface['table_des_tables']['insee_departements'] =
'insee_departements';
// les jointures
$interface['tables_jointures']['spip_insee_departements']['dep'] =
'insee_communes';
$interface['tables_jointures']['spip_insee_communes']['dep'] =
'insee_departements';
return $interface;
}
essayé aussi avec
$interface['tables_jointures']['spip_insee_departements'][] =
'insee_communes';
$interface['tables_jointures']['spip_insee_communes'][] =
'insee_departements';
la boucle
<BOUCLE_communes (INSEE_COMMUNES){par hasard}{0,10}>
<li>#VILLE - #DEPARTEMENT</li>
</BOUCLE_communes>
n'affiche pas les départements correspondants à chaque ville (sauf à
déclarer spip_insee_departements en minuscules dans la boucle dans ce
cas on a bien la jointure automatique). Mais on ne devrait pas être
obligé de le faire.
Merci de l'aide.