Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // Connexion à la base de données "cours7" se trouvant sur le serveur localhost. Nous nous y connectons avec l'identifiant "postgres", et nous entrons le mot de passe que nous avons créé au moment de l'initialisation de la BD PostgreSQL
- $db = new PDO("pgsql:host=localhost; dbname=gmq717", "postgres", "gmq717");
- // Nous créons une requête SQL à partir des variables récupérées dans l'URL
- if ($_GET['var'] == 'pop') {
- // Si la variable est 'pop', alors nous ne voulons pas simplement la valeur brute de la variable, mais la densité de la population dans cette aire de diffusion : densité = pop / superficie en km2. Comme nous sommes dans un système de coordonnées géographiques, il faut projeter les coordonnées dans un système qui respecte bien les superficies localement : https://mern.gouv.qc.ca/wp-content/uploads/CO_codes_epsg_quebec.pdf
- $sql = 'SELECT pop / (ST_AREA(ST_TRANSFORM(geom, 32098)) / 1000000.0) as var, da_number, ST_AsGeoJSON(geom, 6) as geom FROM "montreal_postgis" WHERE ' . $_GET['var'] . ' > ' . $_GET['varMin'] . ' AND ' . $_GET['var'] . ' < ' . $_GET['varMax'] . ';';
- } else {
- // Si la variable n'est pas 'pop', fournir la valeur brute.
- $sql = 'SELECT ' . $_GET['var'] . '::INTEGER as var, da_number, ST_AsGeoJSON(geom, 6) as geom FROM "montreal_postgis" WHERE ' . $_GET['var'] . ' > ' . $_GET['varMin'] . ' AND ' . $_GET['var'] . ' < ' . $_GET['varMax'] . ';';
- }
- // Construire la requête sur le PDO à partir du code SQL
- $query = $db->query($sql);
- // tant qu'il y a une "prochaine ligne" disponible, afficher cette prochaine ligne
- while ($raw = $query->fetch()) {
- echo json_encode($query->fetch());
- };
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement