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/12/2010, 11h31   #1
Invité de passage
 
Inscription : novembre 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 6
Points : 4
Points : 4
Par défaut Problème requete SQL

Bonjour, j'ai un petit problème avec des graphiques, pour afficher des graphiques j'ai choisis d'utiliser la librairie jpGraph. Et pour générer ce graphique j'utilise des valeurs qui proviennent de ma base de données. Mon problème c'est que j'ai une erreur qui s'affiche: Erreur 'Illegal Pie Plot. Sum of all data is zero for Pie.'
Je sais pourquoi cette erreur s'affiche mais je sais pas comment le résoudre. Ce que je veux créer c'est un camembert qui permet d'afficher la répartition de mes projets en fonction du service choisis (en l'occurence le service est analyse). CErtes il y a des projets qui n'appartiennent pas au service, mais comment afficher juste les projets qui appartiennent à ce service?
Voici le code que j'ai fait pour l'instant:

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
 
<?php
include ("/jpgraph/jpgraph.php");
include ("/jpgraph/jpgraph_pie.php");
include ("/jpgraph/jpgraph_pie3d.php");
 
define('MYSQL_HOST', 'localhost');
define('MYSQL_USER', 'root');
define('MYSQL_PASS', '');
define('MYSQL_DATABASE', 'fichetemps');
 
$tableauService = array();
$tableauProjet = array();
 
// *****************************************************
// Extraction des données dans la base de données 
// **************************************************
 
$sql = <<<EOF
	SELECT  
		nom_service, nom_projet	FROM `projet` WHERE nom_service = 'analyse'
 
EOF;
 
$mysqlCnx = @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die('Pb de connxion mysql');
 
@mysql_select_db(MYSQL_DATABASE) or die('Pb de sélection de la base');
 
$mysqlQuery = @mysql_query($sql, $mysqlCnx) or die('Pb de requête');
 
while ($row = mysql_fetch_array($mysqlQuery,  MYSQL_ASSOC)) {
	// Ajouter année devant, c'est pour la légende
	$tableauProjet[] = "projet " . $row['nom_projet'];
	$tableauService[] = $row['nom_service'];
}
 
// **************************************
// Création du graphique
// *****************************************
 
// On spécifie la largeur et la hauteur du graph
$graph = new PieGraph(1200,600);
 
// Ajouter une ombre au conteneur
$graph->SetShadow();
 
// Donner un titre
$graph->title->Set("Répartition des projets par service");
 
// Quelle police et quel style pour le titre
// Prototype: function SetFont($aFamily,$aStyle=FS_NORMAL,$aSize=10)
// 1. famille
// 2. style
// 3. taille
$graph->title->SetFont(FF_GEORGIA,FS_BOLD, 12);
 
// Créer un camembert 
$pie = new PiePlot3D($tableauProjet);
 
// Quelle partie se détache du reste
$pie->ExplodeSlice(2);
 
// Spécifier des couleurs personnalisées... #FF0000 ok
$pie->SetSliceColors(array('red', 'blue', 'green'));
 
// Légendes qui accompagnent le graphique, ici chaque année avec sa couleur
$pie->SetLegends($tableauProjet);
 
// Position du graphique (0.5=centré)
$pie->SetCenter(0.4);
 
// Type de valeur (pourcentage ou valeurs)
$pie->SetValueType(PIE_VALUE_ABS);
 
// Personnalisation des étiquettes pour chaque partie
$pie->value->SetFormat('%d nom_projet');
 
// Personnaliser la police et couleur des étiquettes
$pie->value->SetFont(FF_ARIAL,FS_NORMAL, 9);
$pie->value->SetColor('blue');
 
// ajouter le graphique PIE3D au conteneur 
$graph->Add($pie);
 
// Provoquer l'affichage
$graph->Stroke();
 
?>
Voilà merci d'avance
cboulie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2010, 11h36   #2
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
Bonjour,

enlèves les @ pour afficher les éventuelles erreurs et que te renvoie

$tableauProjet ?
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 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 21h56.


 
 
 
 
Partenaires

Hébergement Web