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] graphe avec des paramétres


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Avril 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Avril 2011
    Messages : 78
    Points : 43
    Points
    43
    Par défaut [JpGraph] graphe avec des paramétres
    Bonjour,


    J'ai besoin de créer des graphes avec des paramètres, c'est à dire lorsque l'utilisateur saisie les données dans un formulaire, il clique sur une bouton puis le graphe apparaît,


    à l'aide des données saisies par l'utilisateur je peux construire mais requêtes, j'ai créer le formulaire ( j'ai deja réussi à réaliser des graphes par JpGraph ),

    Apres la création de formulaire comment je peux faire pour lier les graphes par ces paramétres?

    voici le code du formulaire:
    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
    <table align="left" cellspacing="3">
    <tbody>
    <tr>
    <td valign="TOP"> Dates:
    <input type="hidden" name="DB" value="">
    <input type="TEXT" name="query_date" size="10" maxlength="10" value="2014-02-27">
     
     to 
    <input type="TEXT" name="end_date" size="10" maxlength="10" value="2014-02-27">
     
     
    </td>
    </tr>
    <tr>
    <td valign="TOP"> Campaigns:
    <select size="5" name="group[]" multiple="">
    <option value="--ALL--">-- ALL CAMPAIGNS --</option>
    <option value="155">155</option>
    <option selected="" value="169">169</option>
    <option value="555">555</option>
    <option value="adil">adil</option>
    <option value="azerty">azerty</option>
    <option value="C14">C14</option>
    <option value="C21">C21</option>
    <option value="C27">C27</option>
    <option value="C28">C28</option>
    <option value="C33">C33</option>
    <option value="C37">C37</option>
    <option value="C44">C44</option>
    <option value="C45">C45</option>
    <option value="C50">C50</option>
    <option value="C54">C54</option>
    <option value="C57">C57</option>
    <option value="C59">C59</option>
    <option value="C61">C61</option>
    <option value="C72">C72</option>
    <option value="C76">C76</option>
    <option value="C77">C77</option>
    <option value="C80">C80</option>
    <option value="C88">C88</option>
    <option value="C89">C89</option>
    <option value="Dep">Dep</option>
    <option value="MULTI">MULTI</option>
    <option value="MULTI1">MULTI1</option>
    <option value="MULTI2">MULTI2</option>
    <option value="MULTI3">MULTI3</option>
    <option value="PAC">PAC</option>
    <option value="pac76">pac76</option>
    <option value="PAVC">PAVC</option>
    </select>
    </td>
    </tr>
    <tr>
    <td valign="TOP">User Groups:
    <select size="5" name="user_group[]" multiple="">
    <option value="--ALL--" selected="">-- ALL USER GROUPS --</option>
    <option value="ADMIN">ADMIN</option>
    <option value="AGENTS">AGENTS</option>
    <option value="PHAUT">PHAUT</option>
    <option value="Sup�rviseur">Sup�rviseur</option>
    </select>
    </td>
    </tr>
    <tr>
    <td valign="TOP">Shift:
    <select size="1" name="shift">
    <option selected="" value="ALL">ALL</option>
    <option value="">--</option>
    <option value="AM">AM</option>
    <option value="PM">PM</option>
    <option value="ALL">ALL</option>
    </select>
    <input type="SUBMIT" name="SUBMIT" value="SUBMIT">
    </td>
     
    </tr>
    </tbody>
    </table>

    Merci.

  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
    Dans ton graphique au lieu d'indiquer 12 comme valeurs, tu prendras la valeur reçue de ton formulaire.
    Quel est ton problème ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Avril 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Avril 2011
    Messages : 78
    Points : 43
    Points
    43
    Par défaut
    Le code que j'ai écrit ici , c'est juste pour le formulaire, le problème c'est que je sais pas comment faire pour récupérer les données du formulaire et les passer au graphe (puisque je vais utiliser ces données pour avoir ma requête pour la construction du graphe)

  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
    Une méthode est d'utiliser les sessions PHP.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité codeur !
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 595
    Points : 879
    Points
    879
    Par défaut
    Bonjour.
    Le code que tu a posté n'est pas complet car il manque les balises ouvrantes et fermantes du formulaire.
    Tu pourras récupérer les valeurs de ton formulaire avec la variable globale $_REQUEST
    Tu trouveras dans ce tutoriel la réponse à ta question : http://eric-pommereau.developpez.com...stuces#LIV-A-3

    Yves
    Participez vous aussi !
    Message utile
    Discussion résolue

  6. #6
    Membre du Club
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Avril 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Avril 2011
    Messages : 78
    Points : 43
    Points
    43
    Par défaut
    Bonjour,


    Voila mon code,j'ai essayé de créer un petit formulaire mais j'ai un problème après l'exécution , le graphe ne s'affiche pas


    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
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    <?php
    include ("jpGraph/src/jpgraph.php");
    include ("jpGraph/src/jpgraph_pie.php");
     
     
    define('MYSQL_HOST', 'localhost');
    define('MYSQL_USER', 'root');
    define('MYSQL_PASS', '');
    define('MYSQL_DATABASE', 'tutojpgraph');
     
    ?>
    <form method="post">
    <select name="mois"> 
    <?php
     
     
      // Récupération des informations triées par ordre alphabétique 
    $sql = 'SELECT MONTH(DTHR_VENTE) as mois FROM ventes GROUP BY MONTH(DTHR_VENTE)';
                    // 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');
                    while($data = mysql_fetch_array($mysqlQuery)){
                        // on affiche chaque champ
                        echo '<option name="'.$data['mois'].'">'.$data['mois'].'</option>';
                    }
                    //On libère mysql de cette première requête
                    mysql_free_result ($req); 
                    //On ferme le select
    ?>
    </SELECT>
     
    <select name="annee"> 
    <?php
     
     
      // Récupération des informations triées par ordre alphabétique 
    $sql = 'SELECT YEAR(DTHR_VENTE) as annee FROM ventes GROUP BY YEAR(DTHR_VENTE)';
     // 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');
                    while($data = mysql_fetch_array($mysqlQuery)){
                        // on affiche chaque champ
                        echo '<option name="'.$data['annee'].'">'.$data['annee'].'</option>';
                    }
                    //On libère mysql de cette première requête
                    mysql_free_result ($req); 
                    //On ferme le select
    ?>
     
     
    </SELECT>
    <input type="submit" name="Valider" value="OK"/>
    </form>         
     
    <?php
     
    // Tableaux de données destinées à JpGraph
    $tableaucategorie = array();
    $tableauouvert = array();
     
            //On traite le formulaire
            if(isset($_POST['Valider'])){
                $mois=$_POST['mois'];
                $annee=$_POST['annee'];
     
    			$sql =
    		'SELECT  
    		ID AS vente,
    		PRIX AS PRIX  
    	FROM ventes
    	WHERE YEAR(DTHR_VENTE) = '.$annee.' AND MONTH(DTHR_VENTE) = '.$mois.'
    	GROUP BY ID'
     
    ;
     
    // 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
    	$tableaucategorie[] = $row['vente'];
    	$tableauouvert[] = $row['PRIX'];
     
    	//print_r($tableaucategorie);
    }
     
     
    // ********************************************************************
    // PARTIE : Création du graphique 
    // ********************************************************************
     
    // On spécifie la largeur et la hauteur du graphique conteneur 
    $graph = new PieGraph(800,600);
     
    // Titre du graphique
    $graph->title->Set("Nombre de tickets ouverts");
     
    // Créer un graphique secteur (classe PiePlot)
    $oPie = new PiePlot($tableauouvert);
     
    // Légendes qui accompagnent chaque secteur, ici chaque année
    $oPie->SetLegends($tableaucategorie);
     
    // position du graphique (légèrement à droite)
    $oPie->SetCenter(0.3); 
     
    $oPie->SetValueType(PIE_VALUE_ABS);
     
    // Format des valeurs de type entier
    $oPie->value->SetFormat('%d');
     
     
    // Ajouter au graphique le graphique secteur
    $graph->Add($oPie);
     
    // Provoquer l'affichage (renvoie directement l'image au navigateur)
    $graph->Stroke();
    }
    ?>
    Merci d'avance pour votre aide.

  7. #7
    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
    Le graphique doit être appellé dans une balise img :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="fichier.php" />
    et donc le plus simple est de faire deux fichiers distincts : un pour le HTML, un pour le graphique.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre du Club
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Avril 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Avril 2011
    Messages : 78
    Points : 43
    Points
    43
    Par défaut
    Bonjour,

    Merci bien pour votre réponse, j'ai créer un fichier html mais j'ai Toujours le même problème !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <html>
    <body>
    <img id="Graphe" src="glpi.php" alt="Le graphe" />
    </body>
     
    </html>

  9. #9
    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
    Il faut nous montrer glpi.php.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre du Club
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Avril 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Avril 2011
    Messages : 78
    Points : 43
    Points
    43
    Par défaut
    voila le code de glpi.php

    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
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    <?php
    include ("jpGraph/src/jpgraph.php");
    include ("jpGraph/src/jpgraph_pie.php");
     
     
    define('MYSQL_HOST', 'localhost');
    define('MYSQL_USER', 'root');
    define('MYSQL_PASS', '');
    define('MYSQL_DATABASE', 'ventes');
     
    ?>
    <form method="post">
    <select name="mois"> 
    <?php
     
     
      // Récupération des informations triées par ordre alphabétique 
    $sql = 'SELECT MONTH(DTHR_VENTE) as mois FROM ventes GROUP BY MONTH(DTHR_VENTE)';
                    // 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');
                    while($data = mysql_fetch_array($mysqlQuery)){
                        // on affiche chaque champ
                        echo '<option name="'.$data['mois'].'">'.$data['mois'].'</option>';
                    }
                    //On libère mysql de cette première requête
                    mysql_free_result ($req); 
                    //On ferme le select
    ?>
    </SELECT>
     
    <select name="annee"> 
    <?php
     
     
      // Récupération des informations triées par ordre alphabétique 
    $sql = 'SELECT YEAR(DTHR_VENTE) as annee FROM ventes GROUP BY YEAR(DTHR_VENTE)';
     // 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');
                    while($data = mysql_fetch_array($mysqlQuery)){
                        // on affiche chaque champ
                        echo '<option name="'.$data['annee'].'">'.$data['annee'].'</option>';
                    }
                    //On libère mysql de cette première requête
                    mysql_free_result ($req); 
                    //On ferme le select
    ?>
     
     
    </SELECT>
    <input type="submit" name="Valider" value="OK"/>
    </form>         
     
    <?php
     
    // Tableaux de données destinées à JpGraph
    $tableaucategorie = array();
    $tableauouvert = array();
     
            //On traite le formulaire
            if(isset($_POST['Valider'])){
                $mois=$_POST['mois'];
                $annee=$_POST['annee'];
     
    			$sql =
    		'SELECT  
    		ID AS vente,
    		PRIX AS PRIX  
    	FROM ventes
    	WHERE YEAR(DTHR_VENTE) = '.$annee.' AND MONTH(DTHR_VENTE) = '.$mois.'
    	GROUP BY ID'
     
    ;
     
    // 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
    	$tableaucategorie[] = $row['vente'];
    	$tableauouvert[] = $row['PRIX'];
     
    	//print_r($tableaucategorie);
    }
     
     
    // ********************************************************************
    // PARTIE : Création du graphique 
    // ********************************************************************
     
    // On spécifie la largeur et la hauteur du graphique conteneur 
    $graph = new PieGraph(800,600);
     
    // Titre du graphique
    $graph->title->Set("Nombre de tickets ouverts");
     
    // Créer un graphique secteur (classe PiePlot)
    $oPie = new PiePlot($tableauouvert);
     
    // Légendes qui accompagnent chaque secteur, ici chaque année
    $oPie->SetLegends($tableaucategorie);
     
    // position du graphique (légèrement à droite)
    $oPie->SetCenter(0.3); 
     
    $oPie->SetValueType(PIE_VALUE_ABS);
     
    // Format des valeurs de type entier
    $oPie->value->SetFormat('%d');
     
     
    // Ajouter au graphique le graphique secteur
    $graph->Add($oPie);
     
    // Provoquer l'affichage (renvoie directement l'image au navigateur)
    $graph->Stroke();
    }
    ?>

  11. #11
    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
    Je t'ai dit de faire un fichier avec le HTML et un fichier avec le graphique.
    Ce n'est pas ce que tu as fait.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Membre du Club
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Avril 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Avril 2011
    Messages : 78
    Points : 43
    Points
    43
    Par défaut
    J'ai créé 2 fichiers le premier pour le formulaire et l'autre pour le graphe,

    le code de graphe:
    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
    <?php
    include ("jpGraph/src/jpgraph.php");
    include ("jpGraph/src/jpgraph_pie.php");
    ?>
    <?php
     
    // Tableaux de données destinées à JpGraph
    $tableaucategorie = array();
    $tableauouvert = array();
     
            //On traite le formulaire
            if(isset($_POST['Valider'])){
                $mois=$_POST['mois'];
                $annee=$_POST['annee'];
     
    			$sql =
    		'SELECT  
    		ID AS vente,
    		PRIX AS PRIX  
    	FROM ventes
    	WHERE YEAR(DTHR_VENTE) = '.$annee.' AND MONTH(DTHR_VENTE) = '.$mois.'
    	GROUP BY ID'
     
    ;
     
    // 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
    	$tableaucategorie[] = $row['vente'];
    	$tableauouvert[] = $row['PRIX'];
     
    	//print_r($tableaucategorie);
    }
     
     
    // ********************************************************************
    // PARTIE : Création du graphique 
    // ********************************************************************
     
    // On spécifie la largeur et la hauteur du graphique conteneur 
    $graph = new PieGraph(800,600);
     
    // Titre du graphique
    $graph->title->Set("Nombre de tickets ouverts");
     
    // Créer un graphique secteur (classe PiePlot)
    $oPie = new PiePlot($tableauouvert);
     
    // Légendes qui accompagnent chaque secteur, ici chaque année
    $oPie->SetLegends($tableaucategorie);
     
    // position du graphique (légèrement à droite)
    $oPie->SetCenter(0.3); 
     
    $oPie->SetValueType(PIE_VALUE_ABS);
     
    // Format des valeurs de type entier
    $oPie->value->SetFormat('%d');
     
     
    // Ajouter au graphique le graphique secteur
    $graph->Add($oPie);
     
    // Provoquer l'affichage (renvoie directement l'image au navigateur)
    $graph->Stroke();
    }
    ?>

    le code de formulaire :

    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
    <?php
    define('MYSQL_HOST', 'localhost');
    define('MYSQL_USER', 'root');
    define('MYSQL_PASS', '');
    define('MYSQL_DATABASE', 'ventes');
    ?>
    <form method="post">
    <select name="mois"> 
    <?php
     
     
      // Récupération des informations triées par ordre alphabétique 
    $sql = 'SELECT MONTH(DTHR_VENTE) as mois FROM ventes GROUP BY MONTH(DTHR_VENTE)';
                    // 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');
                    while($data = mysql_fetch_array($mysqlQuery)){
                        // on affiche chaque champ
                        echo '<option name="'.$data['mois'].'">'.$data['mois'].'</option>';
                    }
                    //On libère mysql de cette première requête
                    mysql_free_result ($req); 
                    //On ferme le select
    ?>
    </SELECT>
     
    <select name="annee"> 
    <?php
     
     
      // Récupération des informations triées par ordre alphabétique 
    $sql = 'SELECT YEAR(DTHR_VENTE) as annee FROM ventes GROUP BY YEAR(DTHR_VENTE)';
     // 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');
                    while($data = mysql_fetch_array($mysqlQuery)){
                        // on affiche chaque champ
                        echo '<option name="'.$data['annee'].'">'.$data['annee'].'</option>';
                    }
                    //On libère mysql de cette première requête
                    mysql_free_result ($req); 
                    //On ferme le select
    ?>
     
     
    </SELECT>
    <input type="submit" name="Valider" value="OK"/>
    </form>
    <?php
    if(isset($_POST['Valider']))
    {
    ?>
    <img id="Graphe" src="histographe.php" alt="Le graphe" />
    <?php
    }
    ?>
    Tj mm probleme lorsque je clique sur OK!

  13. #13
    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
    Il ne doit pas y avoir de HTML dans le fichier du graphique.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  14. #14
    Membre éclairé Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité codeur !
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 595
    Points : 879
    Points
    879
    Par défaut
    Bonjour.
    dans ton cas de figure, je pense que le plus simple ... consiste à créer 3 fichiers :
    1. le fichier qui affiche le formulaire: mon_formulaire.php
    2. le fichier qui affiche l'image : mon_afficheur.php
    3. le fichier qui crée le graphe : mon_graphe.php




    Yves
    Participez vous aussi !
    Message utile
    Discussion résolue

  15. #15
    Membre éclairé Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité codeur !
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 595
    Points : 879
    Points
    879
    Par défaut
    Tu as un deuxième choix possible : fournir au fichier mon_graphe.php les valeurs comme à une URL :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<img id='Graphe' src='mon_graphe.php?mois=".$mois."&annee=".$annee."' alt='Le graphe' />";
    Par ailleurs, dans mon script précédent, il y a des " à remplacer par des '
    Participez vous aussi !
    Message utile
    Discussion résolue

  16. #16
    Membre du Club
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Avril 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Avril 2011
    Messages : 78
    Points : 43
    Points
    43
    Par défaut
    Merci Beaucoup Pour votre Réponse,

    J'ai créé les 3 fichiers , mais TJ j'ai pas mon graphe,

    Voila Mes codes, SVP pouvez vous me dire ou j'ai le probleme!!

    code formulaire.php
    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
    <?php
     
    define('MYSQL_HOST', 'localhost');
    define('MYSQL_USER', 'root');
    define('MYSQL_PASS', '');
    define('MYSQL_DATABASE', 'ventes');
     
     
    ?>
     
    <form action="afficheur.php" method="post">
    <select name="mois"> 
    <?php
     
     
      // Récupération des informations triées par ordre alphabétique 
    $sql = 'SELECT MONTH(DTHR_VENTE) as mois FROM ventes GROUP BY MONTH(DTHR_VENTE)';
                    // 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');
                    while($data = mysql_fetch_array($mysqlQuery)){
                        // on affiche chaque champ
                        echo '<option name="'.$data['mois'].'">'.$data['mois'].'</option>';
                    }
                    //On libère mysql de cette première requête
                    mysql_free_result ($req); 
                    //On ferme le select
    ?>
    </SELECT>
     
    <select name="annee"> 
    <?php
     
     
      // Récupération des informations triées par ordre alphabétique 
    $sql = 'SELECT YEAR(DTHR_VENTE) as annee FROM ventes GROUP BY YEAR(DTHR_VENTE)';
     // 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');
                    while($data = mysql_fetch_array($mysqlQuery)){
                        // on affiche chaque champ
                        echo '<option name="'.$data['annee'].'">'.$data['annee'].'</option>';
                    }
                    //On libère mysql de cette première requête
                    mysql_free_result ($req); 
                    //On ferme le select
    ?>
     
     
    </SELECT>
    <input type="submit" name="Valider" value="OK"/>
    </form>
    Code afficheur.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php 
    include ("formulaire.php");
    $m=$_POST['mois'];
    $a=$_POST['annee'];
    echo "<img id='Graphe' src='testgraphe.php?mois=".$m."&annee=".$a."' alt='Le graphe' />"; 
     
     
     
    ?>
    Code testgraphe.php
    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
    103
    104
    105
    106
    <?php
    include ("jpgraph/src/jpgraph.php");
    include ("jpgraph/src/jpgraph_bar.php");
     
    define('MYSQL_HOST', 'localhost');
    define('MYSQL_USER', 'root');
    define('MYSQL_PASS', '');
    define('MYSQL_DATABASE', 'ventes');
     
    $tableauVente = array();
    $tableauPrix = array();
    $mois="";
    $annee="";
    // **********************************************
    // Extraction des données dans la base de données
    // *************************************************
     
    // formulaire
     
    if(isset($_POST['mois'])) && (isset($_POST['annee']))
          {    
    	  $mois=$_REQUEST['mois'];    
     
          $annee=$_REQUEST['annee'];    
    	  }
     
    $sql = 
    	'SELECT  
    		ID AS vente,
    		sum(PRIX) AS PRIX  
    	FROM `ventes`
    	where YEAR(`DTHR_VENTE`)='.$annee.' AND MONTH(DTHR_VENTE) ='.$mois.'
    	GROUP BY ID'
    ;
     
    $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)) {
    	$tableauVente[] = 'vente ' . $row['vente'];
    	$tableauPrix[] = $row['PRIX'];
    }
     
    /*
    printf('<pre>%s</pre>', print_r($tableauAnnees,1));
    printf('<pre>%s</pre>', print_r($tableauNombreVentes,1));
    */
     
    // *******************
    // Création du graphique
    // *******************
     
     
    // Construction du conteneur
    // Spécification largeur et hauteur
    $graph = new Graph(400,250);
     
    // Réprésentation linéaire
    $graph->SetScale("textlin");
     
    // Ajouter une ombre au conteneur
    $graph->SetShadow();
     
    // Fixer les marges
    $graph->img->SetMargin(40,30,25,40);
     
    // Création du graphique histogramme
    $bplot = new BarPlot($tableauPrix);
     
    // Spécification des couleurs des barres
    $bplot->SetFillColor(array('red', 'green', 'blue'));
    // Une ombre pour chaque barre
    $bplot->SetShadow();
     
    // Afficher les valeurs pour chaque barre
    $bplot->value->Show();
    // Fixer l'aspect de la police
    $bplot->value->SetFont(FF_ARIAL,FS_NORMAL,9);
    // Modifier le rendu de chaque valeur
    $bplot->value->SetFormat('%d ventes');
     
    // Ajouter les barres au conteneur
    $graph->Add($bplot);
     
    // Le titre
    $graph->title->Set("Graphique 'HISTOGRAMME' : ventes par années");
    $graph->title->SetFont(FF_FONT1,FS_BOLD);
     
    // Titre pour l'axe horizontal(axe x) et vertical (axe y)
    $graph->xaxis->title->Set("ID");
    $graph->yaxis->title->Set("Nombre de ventes");
     
    $graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
    $graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
     
    // Légende pour l'axe horizontal
    $graph->xaxis->SetTickLabels($tableauVente);
     
    // Afficher le graphique
    $graph->Stroke();
     
     
    ?>

    Merci

  17. #17
    Membre éclairé Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité codeur !
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 595
    Points : 879
    Points
    879
    Par défaut
    Bonjour.
    Plusieurs points.
    1. Le fichier formulaire ne doit pas être inclus dans le fichier afficheur : supprime la ligne 3 dans le fichier afficheur.
    2. Tu as une erreur de syntaxe dans testgraphe en ligne 20. écris plutôt
      Code php : Sélectionner tout - Visualiser dans une fenêtre à part
      if(isset($_POST['mois']) && isset($_POST['annee']))
    3. Par ailleurs, en remplaçant juste les lignes 42 à 44 par
      Code php : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      for($indice=1;$indice<10;$indice++)
      	{
      	$tableauVente[] = 'vente ' . $indice;
      	$tableauPrix[] = rand(0,20);
      	}
      j'ai obtenu un graphe ;-)
      Nom : test_jpgraph_28.png
Affichages : 463
Taille : 4,4 Ko

    Donc pour commencer, modifie les points 1 et 2 et dis-nous ce qui se passe.

    Yves.
    Participez vous aussi !
    Message utile
    Discussion résolue

  18. #18
    Membre du Club
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Avril 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Avril 2011
    Messages : 78
    Points : 43
    Points
    43
    Par défaut
    Merci pour votre aide.


    Voila j'ai fait les modifications, et TJ j'ai pas réussi à afficher mon graphe,

    j'ai essayé de taper (juste pour savoir ou j'ai l'erreur): et il m'affiche : Pb de requête

    j'ai testé ma requête et ça marche bien.

  19. #19
    Membre éclairé Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité codeur !
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 595
    Points : 879
    Points
    879
    Par défaut
    Il faut être sûr que la syntaxe de la requête envoyée par testgraphe.php est la bonne.
    Peux tu ajouter ceci dans testgraphe.php en ligne 35
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<p>Requête : ".$sql."</p>";
    commenter la ligne 103 (le stroke)
    et poster ce qui s'affiche ?
    Participez vous aussi !
    Message utile
    Discussion résolue

  20. #20
    Membre du Club
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Avril 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Avril 2011
    Messages : 78
    Points : 43
    Points
    43
    Par défaut
    Syntaxe de la requête est correcte, j'ai testé avec phpMyadmin et il m'affiche les résultats.

    j'ai ajouté la ligne que vous m'avez donné et j'ai commenté $graph->Stroke(); , mais lorsque j'exécute il m'affiche pas des messages d'erreur juste un petit cadre en gris au haut de la page.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [FLASH MX2004] Lancer une anim avec des paramètres ??
    Par gchanteux dans le forum Flash
    Réponses: 4
    Dernier message: 23/03/2005, 18h49
  2. Réponses: 6
    Dernier message: 24/02/2005, 10h44
  3. [ADO/Access] Appel d’une requête avec des paramètres
    Par Taxenna dans le forum Bases de données
    Réponses: 1
    Dernier message: 07/12/2004, 15h58
  4. Erreur sur une fonction avec des paramètres
    Par Elois dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 05/05/2004, 22h00
  5. créer un noeuds avec des paramétres
    Par Toxine77 dans le forum XMLRAD
    Réponses: 5
    Dernier message: 21/01/2003, 17h11

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