Sur iparla (nom d'un serveur), il existe une base
appelée roose avec comme login roose
et comme mot de passe drop64. Cette base contient
une table appelée bourse avec deux champs :
ville (chaîne de caractères) et indice
(entier).
Le premier champ contient le nom d’une ville (Paris
ou New York), le second contient l’indice (ne dépassant
pas 20) de la bourse correspondante.
1- Dans un premier temps, on va accéder à
cette base et afficher l’ensemble des indices classés
par ville.
2- Dans un deuxième temps on va réaliser
une page HTML simulant un site de bourse. Dans ce site de
bourse, on affichera un histogramme généré
en PHP affichant les indices de chaque bourse (une couleur
différente/ville). Au dessus de chaque barre d’indice,
on affichera la ville concernée avec son indice.

Ne pas oublier que pour générer une image
en PHP, il faut mettre header(‘’Content-type
: image/jpeg’’) afin de dire que le code va
produire un fichier JPEG.
Dans le fichier du site de bourse, on référencera
l’histogramme généré de la manière
suivante :
<IMG SRC=ficbourse.php>Un commentaire éventuel</IMG>
Solution
.HTML
<html><body>
<IMG SRC=bourse.php> Image
de la bourse </IMG>
</body> </html>
.PHP
<?php
header("Content-type: image/jpeg");
$image = imagecreate(250,300);
$couleurRouge=imagecolorallocate($image,255,0,0);
imagefill($image,0,0,$couleurRouge);
$bdd= "baselup"; // Base de
données
$host= "iparla"; // Hote (localhost en principe)
$user= "info2"; // Utilisateur
$pass= "iutinfo2"; // mp
$nomtable= "bourse";
// Connection bdd
// --------------
// print "Tentative de connexion sur sitebd<br>";
@mysql_connect($host,$user,$pass) or die( "Impossible
de se connecter à la base de données");
// print "Connexion réussie, sélection
de base<br>";
@mysql_select_db($bdd);
// print "Sélection de base OK<br>";
// Requêtes
// --------
// $query = "SELECT num, pays, date, circuit FROM $nomtable
";
// $query = "CREATE TABLE bourse (ville VARCHAR(50),
indice integer)";
// $query = "INSERT INTO bourse VALUES ('Paris',12)";
$query = "SELECT ville, indice FROM $nomtable ORDER
BY ville";
$result= MYSQL_QUERY($query);
if (mysql_error()){ // Erreur base de donnees, surement
la table qu'il faut creer
// print "Erreur dans la base de données : ".mysql_error();
exit();
}
else {
// print "Bien connecté....<br>";
}
// Récupération des résultats, affichage
sous forme de graphique
// ------------------------------------------------------------
$x=10; //$y=imagesy($image);
$y=imagesy($image);
$coef = 10;
// $police = imageloadfont("helvetica");
$couleurNoir=imagecolorallocate($image,255,255,255);
while($tuple=mysql_fetch_row($result)) {
// print "--> Ville : $tuple[0] - Indice : $tuple[1]<br>";
if ($tuple[0] == "Paris") {
$couleur=imagecolorallocate($image,0,0,255);
$laville="Paris - ".$tuple[1];
}
else {
$couleur=imagecolorallocate($image,0,255,0);
$laville="New York".$tuple[1];
}
$xtmp = $x+10;
$ytmp = $y-($tuple[1] * $coef);
imagefilledrectangle($image,$x,$ytmp,$xtmp,$y,$couleur);
$ytmp2=$ytmp-10;
imagestringup($image,0,$x,$ytmp2,$laville,$couleurNoir);
$x=$x+12;
}
/* Fermeture */
MYSQL_CLOSE();
imagejpeg($image);
imagedestroy($image);