Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Images > JpGraph
JpGraph Forum d'entraide pour la bibliothèque JpGraph permettant de manipuler des images en PHP. Avant de poster -> tutoriels JpGraph
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/02/2007, 17h26   #1
Membre du Club
 
Avatar de tavarlindar
 
Inscription : janvier 2007
Messages : 238
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 238
Points : 57
Points : 57
Par défaut [JpGraph] comment bien l'utiliser ?

Bonjour,

Voilà, pour utiliser JpGraph aujourd’hui, j’utilise 2 fichiers.

Le premier « creationgraph.php » contient tout le code pour générer le graph en question. Il génère en fait une image. Ce fichier contient les paramètres de connexion à ma base MySQL et la requête qui va bien.

Le second « test.php » peut être considéré comme n’importe quel fichier php mais où doit s’afficher le graph.

Mon problème : c’est que je n’arrive pas à déporter la partie calcul de la requête dans mon fichier test.php et afficher en même temps via ce même fichier test.php mon graphique sans avoir une erreur de header.

Voilà ce qui fonctionne aujourd’hui :

Test.hp
Code :
1
2
3
4
<?
echo 'bonjour<br />';
<img src='creationgraph.php' border='0' align='center'>
?>
creationgraph.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
<?
include ("include/jpgraph/src/jpgraph.php");   
include ("include/jpgraph/src/jpgraph_bar.php");
 
require_once ("include/ParametresConnexion.php");
$db = mysql_connect(SERVEUR, NOM,PASSE) or die(mysql_error());
mysql_select_db(BASE,$db) or die(mysql_error());
 
$resultat = mysql_query("SELECT * FROM students") or die(mysql_error());
 
while($row = mysql_fetch_array($resultat))
{
$data[] = $row[1];
$leg[] = $row[0];
}
 
$graph = new Graph(700,500,"auto"); // largeur , hauteur, utilisation du cache
$graph->SetScale("textint"); 
$graph->img->SetMargin(50,130,50,70); // marge gauche, droite, haut, bas
 
// Caractéristiques des barres de l'histogramme
$bplot = new BarPlot($data); // crée les histogrammes à partir d'un array préalablement défini
 
$graph->Add($bplot);
$graph->Stroke(); 
 
?>
Seulement voilà j’aimerai gagner en souplesse en faisant réellement du dynamic et faire un truc du genre :

Test.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
<?

require_once ("include/ParametresConnexion.php");
$db = mysql_connect(SERVEUR, NOM,PASSE) or die(mysql_error());
mysql_select_db(BASE,$db) or die(mysql_error());

$resultat = mysql_query("SELECT * FROM students") or die(mysql_error());

echo 'bonjour<br />';

<img src='<? afficheGraph($resultat) ?>' border='0' align='center'>
?>
avec à côté

creationgraph.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
<?
Function afficheGraph($resultat) {
include ("include/jpgraph/src/jpgraph.php");   
include ("include/jpgraph/src/jpgraph_bar.php");
 
while($row = mysql_fetch_array($resultat))
{
$data[] = $row[1];
$leg[] = $row[0];
}
 
$graph = new Graph(700,500,"auto"); // largeur , hauteur, utilisation du cache
$graph->SetScale("textint"); 
$graph->img->SetMargin(50,130,50,70); // marge gauche, droite, haut, bas
 
// Caractéristiques des barres de l'histogramme
$bplot = new BarPlot($data); // crée les histogrammes à partir d'un array préalablement défini
 
$graph->Add($bplot);
$graph->Stroke(); 
}
j’ai testé plusieurs trucs, mais rien n’y fait..; je bloque vraiment et comme en plus je ne maitrise pas du tout les notions de cache ou de header ....

Qui peut m’aider ?
tavarlindar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2007, 21h35   #2
Membre éclairé
 
Homme Michael Chusseau
Coordinateur développement web
Inscription : août 2004
Messages : 475
Détails du profil
Informations personnelles :
Nom : Homme Michael Chusseau
Âge : 29
Localisation : France

Informations professionnelles :
Activité : Coordinateur développement web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : août 2004
Messages : 475
Points : 392
Points : 392
salut,

J'ai eu ce genre de problème sur un gros projet ou l'on devait générer des graphique. 3/4 des graphiques été identique, seul les X et les Y changer.

Mes requetes été réalisé dans la page ou j'appel mon graph et les données sont stocké dans des sessions. Je pouvez donc les recuperer dans mon fichier qui génére mon graph sans pb de header.

Mic
mic79 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2007, 20h44   #3
Membre du Club
 
Avatar de tavarlindar
 
Inscription : janvier 2007
Messages : 238
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 238
Points : 57
Points : 57
tu n'as pas conservé un exemple ?

J'ai essayé d'utiliser des sessions, mais cela ne fonctionne pas.
Je récupère dans mon fichier php qui sert à créer le graph les valeurs nécessaires via des variables de sessions. Je n'ai pas d'erreurs de header, mais le graph ne s'affiche pas.


exemple :
Fichier principal test.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
<? 
if ( $_POST['periode_selection_x']) {
	$_SESSION['graph_periode'] = $_POST['Periode']; 
}
?>
<FORM method="POST" ACTION='test.php'>
<input type="image" name="periode_selection" src="/images/boutonfleche.gif">Quelle période ?
<select name="Periode">
          <option value="2007">2007</option> // option par défaut   
		  <option value="2006">2006</option>
 
		  </select>
</FORM>
<br />
<img src='creationgraph.php' border='0' align='center'>
Fichier creationgraph.php
Code :
1
2
3
4
 
Contient tout le necessaire pour créer le graph :
Calcul requete SQL et paramètre de JPgraph
Je récupère ici la variable de session $_SESSION['graph_periode']

J'ai finalement trouvé comment faire !

on peut utiliser la méthode GET .

Exemple <img src='creationgraph.php?anneetest=<? echo $_POST['Periode'] ?>' border='0' align='center'>" pour afficher le graph dans la page où on définit les critères.

on récupère dans le fichier creationgraph.php les valeurs avec un $_GET['anneetest'] que l'on peut utiliser partout dans le code.

Il y existe sans doute une méthode plus intelligente, mais cette solution semble fonctionner.
tavarlindar est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h56.


 
 
 
 
Partenaires

Hébergement Web