Bonjour à tous,

Voila, je vous explique mon souci, je suis en train de faire un site permettant de mettre en relation des clients (loueur/locataire) et je souhaite utiliser un gmap pour ça.

Jusqu'à là rien de transcendant, je souhaiterai avoir sur mon serveur un xml rassemblant toutes les informations que je trouve nécessaire pour ma gmap.
Pour ce faire j'ai tenté de faire un script PHP qui créerai le xml à partir de ma BDD existante.

J'ai donc cherché comment construire le xml, j'ai adapté les divers exemples que j'ai trouvé.

Mais voila, le problème est que lorsque je rentre mon script, mon document xml se retrouve vidé, et je ne comprend pas pourquoi, et donc n'arrive pas à trouver de solution...

Si quelqu'un voit l'erreur et y voit une solution dans mon code ci-après, cela m'aiderai énormément
Par avance, merci.

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
	$hostname = "127.0.0.1";
	$user     = "root";
	$password = "";
	$nom_base_donnees = "test";
 
	// Connexion permanente au serveur MySQL : mysql_Pconnect
	$conn = mysql_pconnect($hostname, $user, $password) or die(mysql_error());
 
	// Choix de la base sur laquelle travailler
	mysql_select_db($nom_base_donnees, $conn);
	$dom = new DomDocument('1.0','iso-8859-1');
	$dom->load('geo/markers.xml');
	$retour=mysql_query("SELECT * FROM annonces ORDER BY id ASC");
	while($donnees=mysql_fetch_assoc($retour)){
		if((isset($donnees['lat'])&& !empty($donnees['lat'])) && (isset($donnees['lng'])&& !empty($donnees['lng']))){
			$nouveauMarker = $dom->createElement("marker");
			$nouveauMarker->setAttribute("id",$donnees['id']);
			$nouveauMarker->setAttribute("nom",htmlspecialchars($donnees['ad_headline']));
			$adresse=$donnees['adresse'].' '.$donnees['zip_code'].' '.$donnees['city'];
			$nouveauMarker->setAttribute("adresse", htmlspecialchars($adresse));
			$nouveauMarker->setAttribute("description",htmlspecialchars($donnees['text']));
			$nouveauMarker->setAttribute("surface",$donnees['surface']);
			$nouveauMarker->setAttribute("mail",htmlspecialchars($donnees['email']));
			$nouveauMarker->setAttribute("lat", $donnees['lat']);
			$nouveauMarker->setAttribute("lng", $donnees['lng']);
			$type=explode(',',$donnees['typedoffre']);
			switch($donnees['typedoffre']){
				case ',1,':
					$typedoffre ='Vente';
					break;
 
				case ',2,':
					$typedoffre='Location vide';
					break;
 
				case ',3,':
					$typedoffre='Location de vacance';
					break;
 
				case ',4,':
					$typedoffre='Location meublée';
					break;
 
				case ',5,':
					$typedoffre='Recherche';
					break;
 
				default:
					$typedoffre='';
					break;
			}
			$nouveauMarker->setAttribute("idtype", $type[1]);
			$nouveauMarker->setAttribute("type",htmlspecialchars($typedoffre));
			$nouveauMarker->setAttribute("prix",$donnees['price']);
			$nouveauMarker->setAttribute("site",htmlspecialchars($donnees['site']));
			$nouveauMarker->setAttribute("numtable",1);
			$nouveauMarker->setAttribute("table",'annonces');
			$nouveauMarker->setAttribute("typecompte",'1');
			$markers = $dom->getElementsByTagName("markers")->item(0);
			$markers->appendChild($nouveauMarker);
			$dom->save('geo/markers.xml');
		}
	}
?>