/* $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");
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">');
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.