JpGraph

Résolu
martial_zero Messages postés 59 Date d'inscription   Statut Membre Dernière intervention   -  
 SuperPoney -
Bonjour,
je viens de lire un tutoreil sur le JpGraph
care je travaille ds un call center et j aimerai bien appliqué ces examples ds mon travail
sauf que j arrive meme pas à excecuter ce petit code source juste pour voir qu est ce que ca donne je vous passe le script et le message d 'erreur.

1-script :
<?php
// ********************************************************************
// PARTIE : Includes et initialisation des variables
// ********************************************************************
// Inclusion de la librairie JpGraph
include ("../tutogpgraph/src/jpgraph.php");

include ("../tutogpgraph/src/jpgraph_pie.php");
// Constantes (connection mysql)
define('MYSQL_HOST', 'localhost');
define('MYSQL_USER', 'root');
define('MYSQL_PASS', '');
define('MYSQL_DATABASE', 'graph');
// Tableaux de données destinées à JpGraph
$tableauAnnees = array();
$tableauNombreVentes = array();
// ********************************************************************
// PARTIE : Production des données avec Mysql
// ********************************************************************
$sql = <<<EOF
SELECT
YEAR(`DTHR_VENTE`) AS ANNEE,
COUNT(ID) AS NBR_VENTES
FROM `ventes`
GROUP BY YEAR(`DTHR_VENTE`)
EOF;
// 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'];
}
// ********************************************************************
// PARTIE : Création du graphique
// ********************************************************************
// On spécifie la largeur et la hauteur du graphique conteneur
$graph = new PieGraph(400,300);
// Titre du graphique
$graph->title->Set("Volume des ventes par années");
// Créer un graphique secteur (classe PiePlot)
$oPie = new PiePlot($tableauNombreVentes);
// Légendes qui accompagnent chaque secteur, ici chaque année
$oPie->SetLegends($tableauAnnees);
// position du graphique (légèrement à droite)
$oPie->SetCenter(0.4);
$oPie->SetValueType(PIE_VALUE_ABS);
// Format des valeurs de type entier
$oPie->value->SetFormat('%d');
// Ajouter au graphique le graphique secteur
$graph->Add($oPie);
// Provoquer l'affichage (renvoie directement l'image au navigateur)
$graph->Stroke();
?>
2-message d 'erreur:
JpGraph Error: HTTP headers have already been sent.
Caused by output from file jpgraph.php at line 72.
le fichier jpgraph.php est le suivant jusqu à la ligne 78
<?php
//=======================================================================
// File: JPGRAPH.PHP
// Description: PHP Graph Plotting library. Base module.
// Created: 2001-01-08
// Ver: $Id: jpgraph.php 1076 2008-09-19 15:43:22Z ljp $
//
// Copyright 2006 (c) Aditus Consulting. All rights reserved.
//========================================================================

require_once('jpg-config.inc.php');
require_once('jpgraph_errhandler.inc.php');
require_once('gd_image.inc.php');
require_once('jpgraph_ttf.inc.php');
require_once 'jpgraph_gradient.php';

// Version info
DEFINE('JPG_VERSION','1.26.1-dev');

// Minimum required PHP version
DEFINE('MIN_PHPVERSION','4.3.1');

//------------------------------------------------------------------------
// Automatic settings of path for cache and font directory
// if they have not been previously specified
//------------------------------------------------------------------------
if(USE_CACHE) {
if (!defined('CACHE_DIR')) {
if ( strstr( PHP_OS, 'WIN') ) {
if( empty($_SERVER['TEMP']) ) {
$t = new ErrMsgText();
$msg = $t->Get(11,$file,$lineno);
die($msg);
}
else {
DEFINE('CACHE_DIR', $_SERVER['TEMP'] . '/');
}
} else {
DEFINE('CACHE_DIR','/tmp/jpgraph_cache/');
}
}
}
elseif( !defined('CACHE_DIR') ) {
DEFINE('CACHE_DIR', '');
}

if (!defined('TTF_DIR')) {
if (strstr( PHP_OS, 'WIN') ) {
$sroot = getenv('SystemRoot');
if( empty($sroot) ) {
$t = new ErrMsgText();
$msg = $t->Get(12,$file,$lineno);
die($msg);
}
else {
DEFINE('TTF_DIR', $sroot.'/fonts/');
}
} else {
DEFINE('TTF_DIR','/usr/X11R6/lib/X11/fonts/truetype/');
}
}

if (!defined('MBTTF_DIR')) {
if (strstr( PHP_OS, 'WIN') ) {
$sroot = getenv('SystemRoot');
if( empty($sroot) ) {
$t = new ErrMsgText();
$msg = $t->Get(12,$file,$lineno);
die($msg);
}
else {
DEFINE('TTF_DIR', $sroot.'/fonts/');
}
} else {
DEFINE('MBTTF_DIR','/usr/share/fonts/ja/TrueType/');
}
}

merci d avance pou votre aide

4 réponses

martial_zero Messages postés 59 Date d'inscription   Statut Membre Dernière intervention   5
 
salut :-))))))))))))))))))))))))))))
J'ai trouvé une solution à mon problème : j'ai remplacé mon

$graph->Stroke();

par

$graph->Stroke("graph.png");
echo "<img src='graph.png' />";

de tt facon je suis content pour ca
je vous demande seulement si vous avez d autr tuto sur pcchart qui fait plus au moin le meme travail que
jpgr(aph merci pour votre aide
5
sahoumita Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,
J'ai eu le meme probleme ke toi et j'ai beaucoup cherché mais je n'apas trouvé de solution.
Mais heureusement,et grace à toi j'ai pu rédoudre mon probleme,donc je veux juste te remercier pour avoir pris la peine de donner la solution à ce probleme genant.

Je veux juste te proposer de signaler ce probleme comme "résolu"
0
symff Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
Je ne sais pas si vous allez encore suivre ce post mais je tente !

J'ai un pb avec JpGraph, rien ne s'affiche sur ma page.

J'appelle :
<img src='include/fichier.php' alt='Graphique'/>


et mon fichier.php:
<?php header("Content-type: image/png"); ?>
<?php include_once('include/jpgraph/src/jpgraph.php'); ?>
<?php include_once('include/jpgraph/src/jpgraph_line.php'); ?>
<?php
$ydata = array(6,5,25,12,5,10,32,13,5,21);
$graph = new Graph(300,200);   
$graph->SetScale("textlin");
$lineplot=new LinePlot($ydata);
$graph->Add($lineplot);
$graph->Stroke("graph.png");
echo "<img src='graph.png' />"; 
?>


Et je n'ai aucune erreur, donc je ne sais pas pourquoi ça ne marche pas !
Où est-ce qu'il enregistre graph.png?
0
SuperPoney
 
Salut symff
J'ai eu le même soucis que toi et j'ai réussi à afficher mon graphique en remplaçant

<img src='include/fichier.php' alt='Graphique'/>

par

<?php require_once('include/fichier.php');?>

Dans l'appel de ton fichier.

En espérant t'avoir aidé.
0
SuperPoney
 
Je rectifie, il ne faut pas pas "remplacer" mais "ajouter" cette ligne xD
0