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

PHP & Base de données Discussion :

affiche graph en php/mysql


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2009
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2009
    Messages : 154
    Points : 45
    Points
    45
    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 : 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();
     
    ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Enlève les @ dans ton code et ajoute au début
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ini_set('mysql.trace_mode', true);
    pour avoir les erreurs mysql.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2009
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2009
    Messages : 154
    Points : 45
    Points
    45
    Par défaut
    J'ai fait ce que tu m'a dit.
    il m'affiche ce problème :
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    $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?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Fais une vraie jointure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $sql = "SELECT distinct Activite as Activite1 , COUNT(n_societe) AS TOTAL
    FROM carriere JOIN societe USING (n_societe)
    GROUP BY Activite";
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2009
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2009
    Messages : 154
    Points : 45
    Points
    45
    Par défaut
    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.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    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.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2009
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2009
    Messages : 154
    Points : 45
    Points
    45
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    <?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...

Discussions similaires

  1. [MySQL] Afficher/Modifier BDD PHP/MySQL
    Par ljuboja78 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 08/07/2009, 16h46
  2. Graphe en PHP MySQL
    Par DelphLaga dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 12/08/2006, 10h10
  3. [Graphique][PHP & MySQL] Tracer des graphes
    Par allyson dans le forum Bibliothèques et frameworks
    Réponses: 15
    Dernier message: 13/05/2006, 11h32
  4. Réponses: 4
    Dernier message: 30/12/2005, 11h00
  5. [SGBD] afficher infos issues de php/mysql dans html
    Par php_de_travers dans le forum Requêtes
    Réponses: 11
    Dernier message: 22/10/2005, 00h28

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