Insérer des variables php dans un fichier xml
Bonjour à tous.
Je débute en xml et n'est que peu d'expérience en php.
Je souhaite changer dynamiquement l'intitulé des continents d'une carte intéractive codée en xml.
Voici le fichier xml de départ
Code:
1 2 3 4 5 6 7 8 9 10 11
| <?xml version="1.0" encoding="UTF-8"?>
<map map_file="maps/continents.swf" zoom_x="0%" zoom_y="0%" zoom="100%" tl_long="-168.49" tl_lat="83.63" br_long="190.3" br_lat="-55.58" >
<areas>
<area mc_name="africa" title="Africa" color="#7F7F65" zoom="250%" zoom_x="-84.94%" zoom_y="-118.95%" url="!ammap/ammap_data_africa.xml"/>
<area mc_name="australia" title="Australia and Oceania" color="#B8183E" zoom="400%" zoom_x="-294.35%" zoom_y="-280.58%" url="!ammap/ammap_data_australia.xml"/>
<area mc_name="europe" title="Europe" color="#BC2737" zoom="310%" zoom_x="-116.92%" zoom_y="-80.99%" url="!ammap/ammap_data_europe.xml"/>
<area mc_name="asia" title="Asia" color="#CDC9AC" zoom="240%" zoom_x="-125.46%" zoom_y="-78.18%" url="!ammap/ammap_data_asia.xml"/>
<area mc_name="north_america" title="North America" color="#313326" zoom="270%" zoom_x="-9.51%" zoom_y="-74.75%" url="!ammap/ammap_data_namerica.xml"/>
<area mc_name="south_america" title="South America" color="#A14F4F" zoom="250%" zoom_x="-32.36%" zoom_y="-151.95%" url="!ammap/ammap_data_samerica.xml"/>
</areas>
</map> |
N'étant qu'en phase de "prise en main", je ne cherche qu'à faire changer le title en fonction d'une base de données toute bêbête. J'ai donc (peut-être un peu naïvement) fait une connection à une db ainsi qu'un query, mis le code xml dans des echo, en le concaténant avec les variables contenant les valeurs de la base de données. Evidemment ça ne marche pas, et pour ne rien arranger, la carte ne me permet pas de savoir de quel type d'erreur il s'agit. Bref, voici mon code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| <?php
header('Content-Type: text/xml');
try
{
mysql_connect('localhost', 'root', '');
mysql_select_db('panjiia');
$requete = mysql_query('select * from test');
$arr = array();
while ($obj = mysql_fetch_object($requete))
{
$arr[]= $obj;
}
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<map map_file="maps/continents.swf" zoom_x="0%" zoom_y="0%" zoom="100%" tl_long="-168.49" tl_lat="83.63" br_long="190.3" br_lat="-55.58" >';
echo '<areas>';
$texte = $arr[0]->valeur_continent;
echo '<area mc_name="africa" title="'.$texte.'" color="#006A6A" zoom="250%" zoom_x="-84.94%" zoom_y="-118.95%" url="!ammap/ammap_data_africa.xml"/>';
$texte = $arr[1]->valeur_continent;
echo '<area mc_name="australia" title="'.$texte.'" color="#55604F" zoom="400%" zoom_x="-294.35%" zoom_y="-280.58%" url="!ammap/ammap_data_australia.xml"/>';
$texte = $arr[2]->valeur_continent;
echo '<area mc_name="europe" title="'.$texte.'" color="#55604F" zoom="310%" zoom_x="-116.92%" zoom_y="-80.99%" url="!ammap/ammap_data_europe.xml"/>';
$texte = $arr[3]->valeur_continent;
echo '<area mc_name="asia" title="'.$texte.'" color="#70A184" zoom="240%" zoom_x="-125.46%" zoom_y="-78.18%" url="!ammap/ammap_data_asia.xml"/>';
$texte = $arr[4]->valeur_continent;
echo '<area mc_name="north_america" title="'.$texte.'" color="#337D63" zoom="270%" zoom_x="-9.51%" zoom_y="-74.75%" url="!ammap/ammap_data_namerica.xml"/>';
$texte = $arr[5]->valeur_continent;
echo '<area mc_name="south_america" title="'.$texte.'" color="#8CA19A" zoom="250%" zoom_x="-32.36%" zoom_y="-151.95%" url="!ammap/ammap_data_samerica.xml"/>';
echo '</areas>';
echo '</map>';
}
catch (exception $e)
{
die('Erreur : '.$e->getmessage());
}
?> |
Voilà, merci d'avance.