Bonjour à tous.

Je vais essayé d'être le plus clair possible, pour commencer,

Je souhaite afficher une carte avec openlayers (et ça fonctionne sans problème). Sauf que je ne souhaite pas coder directement dans le javascript mais plus via une interface utilisateur qui enregistre les données dans postgres, et c'est ces données qui seront utilisées par mes fichiers au chargement.

Puis l'aspect général de ma configuration :

1- Je possède une base de données Postgres qui contient une valeur dont j'ai besoin à l'ouverture de ma page PHP

2- Ma page d'accueil de site web (index.php) charge à l'ouverture un fichier javacript ( onload init() )

3- Enfin, j'ai mon fichier javascript.

Donc à partir de mon fichier PHP (2), je vais chercher dans ma BDD (1) la donnée qui m'intéresse :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<?php
include("scripts/connect_bdd.php");
$sql="select '1' AS id,chemin from baselayer";
$rs=pg_exec($id_connect,$sql);
$lg = pg_fetch_array($rs);
?>
<script type="text/javascript">
	var msg='<?php echo $lg["chemin"];?>';
</script>
<body onload="init(msg)">
Et ensuite, depuis mon javascript j'effectue mes manips :

Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
function init (msg) {
	var NomVariable = msg ;
(...)
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
var googlelayerHYe = new OpenLayers.Layer.Google("Google Hybrid", {type: google.maps.MapTypeId.HYBRID,sphericalMercator: true});
var googlelayerHY =  NomVariable;
(...)
Seulement, ça ne fonctionne pas, si je fais une alert sur mes deux requêtes, j'ai pour la première (celle qui fonctionne) [object Object] et pour l'autre :

Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
new OpenLayers.Layer.Google("Google Hybrid", {type: google.maps.MapTypeId.HYBRID,sphericalMercator: true})

Du coup, je me demande si ma façon de faire n'est pas un petit peu ardu et peu efficiente...

Qu'en pensez-vous ?

Xal