IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[JpGraph] Problème requete SQL


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Novembre 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 6
    Par défaut [JpGraph] 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 : 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
     
    <?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

  2. #2
    Membre émérite
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Par défaut
    Bonjour,

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

    $tableauProjet ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Problème requete SQL dans PHP
    Par dl_jarod dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 13/04/2006, 14h40
  2. problème requete sql fusion de deux count
    Par TuxP dans le forum Langage SQL
    Réponses: 6
    Dernier message: 14/12/2005, 15h15
  3. Problème requete SQL
    Par tonyskn dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/11/2004, 20h37
  4. problème requete sql
    Par Fred- dans le forum ASP
    Réponses: 2
    Dernier message: 13/06/2004, 02h20
  5. Problème Requete SQL et QuickReport
    Par arnaud_verlaine dans le forum C++Builder
    Réponses: 7
    Dernier message: 07/01/2004, 09h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo