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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.