Page 1 sur 1

Intégration d'un graphique JpGraph dans une page HTML

Posté : 21 avr. 2015, 15:32
par SonicBoom
Bonjour à tous,

J'ai un problème pour intégrer un camembert créé avec JpGraph dans une page HTML, car quand je met mon fichier php en direct sur mon navigateur, il m'affiche parfaitement mon camembert, mais dès que je veux l'intégrer à mon code HTML il ne s'affiche plus, en ayant été sur d'autres forums j'ai vu qu'il fallait mettre "<img src='lienversmonfichierphp'> dans mon code HTML, ce que j'ai fait mais il ne s'affiche toujours pas :/. Est-ce que quelqu'un aurait une idée de comment faire svp ?

Voici mon code HTML :
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<head>
	<title>Nb interventions par modèles</title>
</head>
	<body>
		<h1>
			<p style="text-align:center">NB d'interventions par modèles</p>
		</h1><br/>

		<h1>
			<p style="text-align:left">Voici vos données</p>
		</h1>

                <img src='Graphique.php'>

		<br/>
		<br/>
		<FORM ACTION="http://localhost/prog/menu_stats.php"> 
		<INPUT TYPE="SUBMIT" VALUE="(Retour au menu des statistiques)"></FORM> 
	</body>
</html>
Et le code PHP :
<?php
//Fichier de configuration de la connexion à la BDD
include("fonctions.php");

//Inclusion de la librairie JpGraph
include ("jpgraph/src/jpgraph.php");
include ("jpgraph/src/jpgraph_pie.php");

//Connection à la BDD
connectMaBase();

$tableauNbInter = array();
$tableauViInter = array();

/*
***********************************************************************************************************
    Récupération de valeurs et création du tableau

***********************************************************************************************************
*/

//requête vers la base de données pour récupérer les valeurs
$result = mysql_query("SELECT count(num_intervention) as nombre_interventions, modele 
								   FROM interventions, vehicules, modele 
								   WHERE interventions.num_parc = vehicules.num_parc and vehicules.num_modele = modele.num_modele 
								   GROUP BY vehicules.num_modele;");	
	
//Mise dans un tableau des valeurs acquises précédemment
while ($tableau =  mysql_fetch_array($result, MYSQL_ASSOC))
{
	$tableauNbInter[] = $tableau['nombre_interventions'];
	$tableauViInter[] = $tableau['modele'];

	
}

/*
***********************************************************************************************************
    Création du graphique

***********************************************************************************************************
*/

//création du diagramme
//On spécifie la largeur et la hauteur de graphique conteneur
$diagramme = new PieGraph(400,350);
//Titre du graphique
$diagramme->title->Set("mon premier diagramme");
//Créer un diagramme ciculaire (classe PiePlot)
$cercle = new PiePlot ($tableauNbInter);
//Création d'une légende
$cercle->SetLegends($tableauViInter);
//position du graphique
$cercle->SetCenter(0.4);
//type de valeur
$cercle->SetValueType(PIE_VALUE_ABS);
//Format des valeurs de type entier 
$cercle->value->SetFormat('%d');
//Ajouter le diagramme au graphique conteneur
$diagramme->Add($cercle);
//Provoquer l'affichage (renvoie directement l'image au navigateur)
$diagramme->Stroke()
?>

Re: Intégration d'un graphique JpGraph dans une page HTML

Posté : 21 avr. 2015, 16:18
par tof73
Graphique.php est bien dans le même répertoire que la page html ?

Re: Intégration d'un graphique JpGraph dans une page HTML

Posté : 22 avr. 2015, 09:07
par SonicBoom
Oui, c'est pour ça que je ne vois pas d'où ça vient.

Re: Intégration d'un graphique JpGraph dans une page HTML

Posté : 23 avr. 2015, 16:30
par Ryle
Hello !

En effet, jpgraph te permet de générer des images de façon dynamique. Pour afficher celles-ci dans une page html, il faut les inclure comme des images classiques avec une balise <img> en appelant le chemin du fichier php au lieu du fichier image.

Si tu appelles la page Graphique.php directement par son url dans ton navigateur, est-ce que ton graph s'affiche bien ?
si c'est le cas, en utilisant le même chemin tu dois pouvoir inclure celle-ci dans ta page html :)

Attention, sur certains serveur (linux/unix), la casse du nom des fichiers est importante et "Graphique.php" est différent de "graphique.php"