/* $sql = <<<EOF SELECT YEAR('DTHR_VENTE') AS ANNEE, COUNT(ID) AS NBR_VENTES FROM 'ventes' GROUP BY YEAR('DTHR_VENTE') EOF;*/ $sql = "SELECT YEAR('DTHR_VENTE') AS ANNEE ,COUNT(ID) AS NBR_VENTES FROM 'ventes' GROUP BY YEAR('DTHR_VENTE')";
<?php
include ("/src/jpgraph.php");
include ("/src/jpgraph_bar.php");
$fileName = $_SERVER['DOCUMENT_ROOT']."/tmp/graph.png";
define('MYSQL_HOST', 'localhost');
define('MYSQL_USER', 'root');
define('MYSQL_PASS', '');
define('MYSQL_DATABASE', 'graphe');
// ********************************************************************
// PARTIE : Production des données avec Mysql
// ********************************************************************
$sql = ("SELECT YEAR('DTHR_VENTE') AS ANNEE,
COUNT(ID) AS NBR_VENTES
FROM 'ventes'
GROUP BY YEAR('DTHR_VENTE')");
// Connexion à la BDD
$mysqlCnx = @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die('Pb de connxion mysql');
// Sélection de la base de données
@mysql_select_db(MYSQL_DATABASE) or die('Pb de sélection de la base');
// Requête
$mysqlQuery = @mysql_query($sql, $mysqlCnx) or die('Pb de requête');
// Fetch sur chaque enregistrement
while ($row = mysql_fetch_array($mysqlQuery, MYSQL_ASSOC)) {
// Alimentation des tableaux de données
$tableauAnnees[] = 'Année ' . $row['ANNEE'];
$tableauNombreVentes[] = $row['NBR_VENTES'];
}
printf('<pre>%s</pre>', print_r($tableauAnnees,1));
printf('<pre>%s</pre>', print_r($tableauNombreVentes,1));
print_r($tableauNombreVentes);
var_dump($tableauNombreVentes);
// *******************
// Création du graphique
// *******************
// Construction du conteneur
// Spécification largeur et hauteur
$graph = new Graph(400,250);
// Réprésentation linéaire
$graph->SetScale("textlin");
// Ajouter une ombre au conteneur
$graph->SetShadow();
// Fixer les marges
$graph->img->SetMargin(40,30,25,40);
// Création du graphique histogramme
$bplot = new BarPlot($tableauNombreVentes);
// Spécification des couleurs des barres
$bplot->SetFillColor(array('red', 'green', 'blue'));
// Une ombre pour chaque barre
$bplot->SetShadow();
// Afficher les valeurs pour chaque barre
$bplot->value->Show();
// Fixer l'aspect de la police
$bplot->value->SetFont(FF_ARIAL,FS_NORMAL,9);
// Modifier le rendu de chaque valeur
$bplot->value->SetFormat('%d ventes');
// Ajouter les barres au conteneur
$graph->Add($bplot);
// Le titre
$graph->title->Set("Graphique 'HISTOGRAMME' : ventes par années");
$graph->title->SetFont(FF_FONT1,FS_BOLD);
// Titre pour l'axe horizontal(axe x) et vertical (axe y)
$graph->xaxis->title->Set("Années");
$graph->yaxis->title->Set("Nombre de ventes");
$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
// Légende pour l'axe horizontal
$graph->xaxis->SetTickLabels($tableauAnnees);
// Afficher le graphique
$graph->Stroke();
?>
j'ai changé le nom du fichier (jpgraphique.php en vente.php)... ça ... c'est le nom de ta page PHP contenant le script .....
$graph->Stroke();
$graph->Stroke("/tmp/graph_ventes.png");
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
graph->Stroke("votreImage.png"); // ici pour definir l'image de sortie
// Output line
echo ('<img src="votreImage.png">'); // afficher l'image
//Exemple : 1 fonctionne à moitié après il génère une erreur car s'il
//faut rafraichir la page la seconde image générée écrase la
//première mais c'est une image vierge
//Jpgraph: "JpGraph Error: 25111 Can't delete cached image
Exemple 1
@unlink("vente.png"); //Permet de supprimer le fichier donc l'image
$graph->Stroke("vente.png");
$graph->Stroke("tmp/vente.png");
//tmp: dossier temporaire qu'il faudra créer
//Exemple : 2 celui-ci fonctionne....
/ Suppression du fichier
$filename='tmp/vente.png';
if (file_exists("$filename"))
{
unlink("$filename");
}
// Sauvegarde du graphique
$graph->stroke("$filename");
echo ('<img src="tmp/vente.png">');