Bonjour Roadster,
récupération en php
voici le code complet pour récupérer l'id du balise 1
<?php
class CCommune
{
public function __construct($id)
{
}
public static function writeArray($array)
{
$string = '<?xml version="1.0" encoding="utf-8"?>'."\n";
$string.= '<racine>'."\n";
foreach($array as $id => $detail) {
$string.= "\t".'<commune id="'.$id.'" lien="index.php?c='.$id.'">'."\n";
$string.= "\t\t".'<nom><![CDATA['.$detail['nom'].']]></nom>'."\n";
$string.= "\t\t".'<cp><![CDATA['.$detail['cp'].']]></cp>'."\n";
$string.= "\t\t".'<population><![CDATA['.$detail['population'].']]></population>'."\n";
$string.= "\t\t".'<annee><![CDATA['.$detail['annee'].']]></annee>'."\n";
$string.= "\t\t".'<description><![CDATA['.$detail['description'].']]></description>'."\n";
$string.= "\t".'</commune>'."\n";
}
$string.= '</racine>'."\n";
file_put_contents(PATH_RACINE.'/villes_quartiers.xml', $string);
}
public static function list_cp()
{
$xml = simplexml_load_file(PATH_RACINE.'/villes_quartiers.xml');
$list = array();
foreach ($xml->children() as $com) {
if(!empty($com->cp)) {
$list[] = (string)$com->cp;
}
}
return $list;
}
public static function toArray($id = 0)
{
$xml = simplexml_load_file(PATH_RACINE.'/villes_quartiers.xml');
$coms = array();
foreach ($xml->children() as $com) {
$coms[(int)$com['id']] = array(
'etat' => (string)$com['etat'],
'nom' => (string)$com->nom,
'cp' => (string)$com->cp,
'population' => (string)$com->population,
'annee' => (string)$com->annee,
'description' => (string)$com->description
);
}
if($id > 0) {
return $coms[$id];
}
return $coms;
}
public static function swap_state($id)
{
$tree = self::toArray();
$etat = $tree[$id]['etat'];
if($etat == 'publie') {
$tree[$id]['etat'] = 'masque';
}
else {
$tree[$id]['etat'] = 'publie';
}
self::writeArray($tree);
}
public static function get_option($id)
{
$list = CCommune::list_all('nom');
$options = '';
foreach($list as $commune) {
if($id == $commune['id']) {
$options.= '<option value="'.$commune['id'].'" selected="selected">'.stripslashes($commune['nom']).'</option>';
}
else {
$options.= '<option value="'.$commune['id'].'">'.stripslashes($commune['nom']).'</option>';
}
}
return $options;
}
public static function check_cp($_cp)
{
$xml = simplexml_load_file(PATH_RACINE.'/villes_quartiers.xml');
foreach ($xml->children() as $com) {
$cp = (string)$com->cp;
if($cp == $_cp) {
return true;
}
}
return false;
}
public static function list_all($order = 'id')
{
$list = array();
$xml = simplexml_load_file(PATH_RACINE.'/villes_quartiers.xml');
foreach ($xml->children() as $com) {
$key = '';
switch($order) {
case 'nom':
$key = $com->nom;
break;
case 'id':
default:
$key = $com['id'];
break;
}
$list[''.$key] = array(
'id' => $com['id'],
'nom'=>(string)$com->nom,
'cp'=>(string)$com->cp,
'etat' => (string)$com['etat']
);
}
ksort($list);
return $list;
}
}
?>
c'est 1 code qui récupèrent tous les données des communes mais pour une commune, elle appartient à plusieurs quartiers.
donc je veux récupérer aussi les id ainsi que les données des quartiers.
<commune id="1">
<nom>nom_commune</nom>
<population>population</population>
<annee>année</annee>
<description>escription</description>
<quartier id="1">
<nom>Quartier1</nom>
<population>population</population>
<annee>année</annee>
<description>description</description>
</quartier>
<quartier id="2">
<nom>nom_quartier</nom>
<population>population</population>
<annee>année</annee>
<description>description</description>
</quartier>
</commune>
merci