Vous êtes sur la page 1sur 2

## Bing

Voici un exemple de code PHP qui pourrait répondre à votre demande en récupérant
les données des stations depuis une base de données:

[php]
<?php
// Les informations de connexion à la base de données
$dbHost = 'localhost';
$dbName = 'nom_de_la_base';
$dbUser = 'nom_utilisateur';
$dbPassword = 'mot_de_passe';

// Connexion à la base de données


try {
$db = new PDO("mysql:host=$dbHost;dbname=$dbName;charset=utf8", $dbUser,
$dbPassword);
} catch (PDOException $e) {
die('Erreur : ' . $e->getMessage());
}

// Récupération des données des stations depuis la base de données


$query = $db->query('SELECT id, lat, lon, alt FROM stations');
$stations = $query->fetchAll(PDO::FETCH_ASSOC);

// La hauteur de référence
$refHeight = 100;

// Les couleurs pour les écarts


$colors = array(
array(0, 255, 0),
array(255, 255, 0),
array(255, 165, 0),
array(255, 0, 0)
);

// La fonction pour calculer la couleur en fonction de l'écart


function getColor($diff) {
global $colors;
if ($diff <= 2.5) {
return $colors[0];
} elseif ($diff <= 5) {
return $colors[1];
} elseif ($diff <= 7.5) {
return $colors[2];
} else {
return $colors[3];
}
}

// La fonction pour dessiner une barre sur la carte


function drawBar($image, $x1, $y1, $x2, $y2, $color) {
global $black;
imagefilledrectangle($image, $x1 + ($j * ($xscale / count($data[0]))), $y1 -
($data[$i][$j] * $yscale), $x2 + ($j * ($xscale / count($data[0]))), $y1 -
(($data[$i][$j] + .01) * $yscale), ${'color' . ($j + 1)});
imageline($image,$x1 + ($j * ($xscale / count($data[0]))),$y1,$x1 + ($j *
($xscale / count($data[0]))),$y2,$black);
imageline($image,$x2 + ($j * ($xscale / count($data[0]))),$y1,$x2 + ($j *
($xscale / count($data[0]))),$y2,$black);
imageline($image,$x1 + ($j * ($xscale / count($data[0]))),$y2,$x2 + ($j *
($xscale / count($data[0]))),$y2,$black);
imageline($image,$x1 + (($j+1) * ($xscale / count($data[0]))),$y2,$x2 + (($j+1)
* ($xscale / count($data[0]))),$y2,$black);
imageline($image,$x2 + (($j+1) * ($xscale / count($data[0]))),$y2,$x2 + (($j+1)
* ($xscale / count($data[0]))),$y1,$black);
}

// La taille de l'image
$width = 600;
$height = 400;

// Création de l'image
$image = imagecreate($width, $height);

// Les couleurs de base


$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);

// Remplissage du fond en blanc


imagefilledrectangle($image, 0, 0,

Vous aimerez peut-être aussi