Je vx afficher une graphe sur une page php pr cela j'ai inclure la libraire JpGraph.
Lorsque j’exécute ce code (voir en dessous) il m'affiche "Pb de requête",
donc évidement c'est le problème de requette sql.
dans ma base donne en mysql contient 4 tables dont 2 (carriere et societe)que j'ai utilisé ici.
je vx vs préciser les clés primaires.
carriere ---->n_societe+cne
(cne est cle primaire dans une autre table appelé "etudiant".)
societe---->n_societe
le but dd graphe est d'avoir le pourcentage des etudiants dans une activite.
Je vx une solution pour ce pb SVP.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<?php
// ********************************************************************
// PARTIE : Includes et initialisation des variables
// ********************************************************************
 
// Inclusion de la librairie JpGraph
include ("src/jpgraph.php");
include ("src/jpgraph_pie.php");
include ("src/jpgraph_pie3d.php");
 
// Constantes (connection mysql)
define('MYSQL_HOST', 'localhost');
define('MYSQL_USER', 'root');
define('MYSQL_PASS', '');
define('MYSQL_DATABASE', 'etudiants');
 
// Tableaux de données destinées à JpGraph
$tableauA = array();
$tableauNombreT = array();
 
// ********************************************************************
// PARTIE : Production des données avec Mysql
// ********************************************************************
 
$sql = "SELECT distinct Activite as Activite1 , COUNT(n_societe) AS TOTAL FROM carriere c,societe s where s.n_societe=c.n_societe 
                 GROUP BY Activite";
 
 
 
// 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
        $tableauA[] = $row['Activite1'];
        $tableauNombreT[] = $row['TOTAL'];
}
 
// ********************************************************************
// PARTIE : Création du graphique
// ********************************************************************
 
// On spécifie la largeur et la hauteur du graphique conteneur
$graph = new PieGraph(560,300);
 
// Ajouter une ombre au conteneur
$graph->SetShadow();
 
// Titre du graphique
$graph->title->Set("pourcent of etudiant in activite");
 
// 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 graphique secteur (classe PiePlot)
$pie = new PiePlot3D($tableauNombreT);
 
// Quelle partie se détache du reste
$pie->ExplodeSlice(0);
 
//$pie->ShowBorder(true, true);
 
//Contours de couleur noirs et d'épaisseur 1
$pie->SetEdge('black', 1);
 
// Spécifier des couleurs personnalisées... #FF0000 ok
$pie->SetSliceColors(array('red', 'aqua', 'green', 'purple', 'yellow', 'navy', 'teal', 'fuchsia', 'silver'));
 
// Légendes qui accompagnent chaque secteur, ici chaque année
$pie->SetLegends($tableauA);
 
// position du graphique (légèrement à droite)
$pie->SetCenter(0.25);
 
//Valeurs absolues
$pie->SetValueType(PIE_VALUE_ABS);
 
// Format des valeurs de type entier
$pie->value->SetFormat('%d dossiers');
 
// Personnaliser la police et couleur des étiquettes
$pie->value->SetFont(FF_ARIAL,FS_NORMAL, 10);
$pie->value->SetColor('black');
 
// Ajouter au graphique le graphique secteur
$graph->Add($pie);
 
// Provoquer l'affichage (renvoie directement l'image au navigateur)
$graph->Stroke();
 
?>