Suite à une sélection dans une base de données, j'ai un tableau de valeurs indexé par 5 caractéristiques : nom de l'indicateur économique, région, secteur économique, pays, année.
Exemple :
Code : Tout sélectionner
[0] => Array('Export', 'PACA', 'Industrie', 'Chine', '2008', 23);
[1] => Array('Import', 'PACA', 'Industrie', 'Chine', '2008', 12);
[2] => Array('Import', 'PACA', 'Industrie', 'Chine', '2007', 53);
[3] => Array('Import', 'PACA', 'Agroalimentaire', 'Allemagne', '2007', 12);
...
Ce que je recherche, c'est un code qui me permettrait de créer un XML hiérarchique, en donnant les ordres de regroupement. Par exemple, si je lui indique qu'il faut regrouper par (indicateur, secteur, pays, année, territoire), j'aimerais obtenir quelque chose dans ce style
Code : Tout sélectionner
<data niveau='1' type='indicateur'>
<nom>Export</nom>
<data niveau='2' type='secteur'>
<nom>Industrie</nom>
<data niveau='3' type='pays'>
<nom>'Chine'</nom>
<data niveau='4' type='année">
<nom>2008</nom>
<valeur>23</valeur>
</data>
</data>
</data>
</data>
<data niveau='1' type='indicateur'>
<nom>Import</nom>
<data niveau='2' type='secteur'>
<nom>Industrie</nom>
<data niveau='3' type='pays'>
<nom>'Chine'</nom>
<data niveau='4' type='année">
<nom>2008</nom>
<valeur>12</valeur>
</data>
<data niveau='4' type='année">
<nom>2007</nom>
<valeur>53</valeur>
</data>
</data>
</data>
<data niveau='2' type='secteur'>
<nom>Agroalimentaire</nom>
<data niveau='3' type='pays'>
<nom>'Allemagne'</nom>
<data niveau='4' type='année">
<nom>2007</nom>
<valeur>12</valeur>
</data>
</data>
</data>
</data>
Merci