Téléchargement
illégal
Posez votre question Signaler

JpGraph [Résolu]

martial_zero 58Messages postés 30 octobre 2008Date d'inscription 2 mai 2011Dernière intervention - Dernière réponse le 27 mai 2010 à 14:58
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
Lire la suite 

JpGraph »

Suggestions
5 réponses
Réponse
+3
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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"
Ajouter un commentaire
Réponse
+0
moins plus
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?
Ajouter un commentaire
Réponse
+0
moins plus
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é.
SuperPoney - 27 mai 2010 à 14:58
Je rectifie, il ne faut pas pas "remplacer" mais "ajouter" cette ligne xD
Ajouter un commentaire
Ce document intitulé « JpGraph » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?