Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
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 24/05/2011, 21h40   #1
Invité de passage
 
Inscription : décembre 2009
Messages : 34
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 34
Points : 0
Points : 0
Par défaut affiche graph en php/mysql

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 :
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();
 
?>
devhafid est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 24/05/2011, 21h51   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Enlève les @ dans ton code et ajoute au début
Code :
ini_set('mysql.trace_mode', true);
pour avoir les erreurs mysql.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 23h14   #3
Invité de passage
 
Inscription : décembre 2009
Messages : 34
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 34
Points : 0
Points : 0
J'ai fait ce que tu m'a dit.
il m'affiche ce problème :
Citation:
Warning: mysql_query() [http://www.mysql.com/doc]: Champ: 'n_societe' dans field list est ambigu in D:\Program Files\EasyPHP-5.3.5.0\www\sitewebbb_24mai\statistique.php on lien 37
......
Le problème au niveau ce ligne :
Code :
$mysqlQuery = mysql_query($sql, $mysqlCnx) or die('Pb de requête');
est ce que c'est un problème en niveau de requete sql ou
autre chose?
devhafid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 23h23   #4
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Fais une vraie jointure :
Code :
1
2
3
$sql = "SELECT distinct Activite as Activite1 , COUNT(n_societe) AS TOTAL
FROM carriere JOIN societe USING (n_societe)
GROUP BY Activite";
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 00h23   #5
Invité de passage
 
Inscription : décembre 2009
Messages : 34
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 34
Points : 0
Points : 0
Il m'affiche une autre erreur
L'image “http://127.0.0.1:8888/site/statistique.php” ne peut être affichée car elle contient des erreurs.
il n'a pas préciser les erreurs.
devhafid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 00h58   #6
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
enlève pour voir s'il y a des erreurs.

s'il n'y en a pas, vérifie bien que ton fichier, s'il est en UTF8, est en UTF8 sans BOM.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 22h27   #7
Invité de passage
 
Inscription : décembre 2009
Messages : 34
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 34
Points : 0
Points : 0
J'ai trouvé la solution de mon problème,simplement j'ai inséré mon image dans la page que je vx ,c'est comme ça :
Code :
<?php <img  src="statistique.php" /> ?>
.
Mais j'ai une pb concernant les légendes d'image (j'ai utilisé graphe circulaire ).
les légendes sont affichés horizontalement,moi je vx qu'il affiche verticalement pour diminuer la largeur d'image.
je vx savoir que je dois modifier pr qu'il affiche verticalement
Et merci pr vos...
devhafid est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h18.


 
 
 
 
Partenaires

Hébergement Web