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] faire un graph a partir d'une base de données sous jpgraph!


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Mai 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2012
    Messages : 32
    Points : 22
    Points
    22
    Par défaut [JpGraph] faire un graph a partir d'une base de données sous jpgraph!
    Bonjour,

    je dois faire un graph à partir d'une base de donnée.
    un script shell test un site toute les minutes et met dans la base, le temps de réponse et l'heure.

    je ne trouve pas d'exemple sur le net qui récupère les données x et les données y d'une base pour les affichers dans un graph ( pour mois cela me fait plus de 1000 test pas jours a afficher).

    si vous avez un expemple de fichier .php de jpgraph qui fait cela , cela serait charitable de me le fournir afin que je l'adapte.

    je programme en shell mais grosse lacune sous php donc je rame beaucoup.

    cordialement

  2. #2
    Membre éclairé Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    597
    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 : 597
    Points : 883
    Points
    883
    Par défaut
    Si tu cherches ce genre de graphique :


    En voilà le code source, issu de la doc officielle de jpgraph :
    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
    <?php // content="text/plain; charset=utf-8"
    require_once ('jpgraph/jpgraph.php');
    require_once ('jpgraph/jpgraph_line.php');
    require_once ('jpgraph/jpgraph_date.php');
     
    // Create a data set in range (50,70) and X-positions
    DEFINE('NDATAPOINTS',360);
    DEFINE('SAMPLERATE',240); 
    $start = time();
    $end = $start+NDATAPOINTS*SAMPLERATE;
    $data = array();
    $xdata = array();
    for( $i=0; $i < NDATAPOINTS; ++$i ) {
        $data[$i] = rand(50,70);
        $xdata[$i] = $start + $i * SAMPLERATE;
    }
     
     
    // Create the new graph
    $graph = new Graph(540,300);
     
    // Slightly larger than normal margins at the bottom to have room for
    // the x-axis labels
    $graph->SetMargin(40,40,30,130);
     
    // Fix the Y-scale to go between [0,100] and use date for the x-axis
    $graph->SetScale('datlin',0,100);
    $graph->title->Set("Example on Date scale");
     
    // Set the angle for the labels to 90 degrees
    $graph->xaxis->SetLabelAngle(90);
     
    $line = new LinePlot($data,$xdata);
    $line->SetLegend('Year 2005');
    $line->SetFillColor('lightblue@0.5');
    $graph->Add($line);
    $graph->Stroke();
    ?>
    tu devras bien sur créer les deux tableaux de valeurs $data et $xdata à partir du résultat d'une requète sur ta base.
    Images attachées Images attachées  
    Participez vous aussi !
    Message utile
    Discussion résolue

  3. #3
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Mai 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2012
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    slt

    ok merci, je vais essayer d'adapter ceci dès que je rendre de congé, (merci le mois de mai et ses ponts)

    merci à toi

    ps: je laisse ouvert le poste si j'ai d'autres questions pour le code php.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Mai 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2012
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    suite de mon problème:
    j'ai une base: test et une table: table_test qui me remonte un temps de réponse que je souhaite récupéré dans mon tableau.

    sur la premiere partie de mon prgramme php j'essaye de récupéré les 30 premieres donnée de la table_test et de l'afficher avec un print ($mysqlQuery); pour voir si déja la commande est bonne, mais j'ai une erreur Pb de requête.
    je comprend pas cette requete mysql est bonne!!!

    <?php // content="text/plain; charset=utf-8"

    // affiche les erreurs
    ini_set('display_errors','On');
    error_reporting(E_ALL);

    require_once ('/var/www/jpgraph/src/jpgraph.php');
    require_once ('/var/www/jpgraph/src/jpgraph_line.php');
    require_once ('/var/www/jpgraph/src/jpgraph_date.php');

    define('MYSQL_HOST', 'localhost');
    define('MYSQL_USER', 'root');
    define('MYSQL_PASS', 'monmotdepasse');
    define('MYSQL_DATABASE', 'test');


    // récupère les données de l'axe X de la base: test table
    $sql_heure = <<<EOF
    SELECT *
    FROM 'table_test'
    ORDER BY 'table_test'.'temps_reponse' ASC
    LIMIT 0 , 30
    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_heure, $mysqlCnx) or die('Pb de requête');

    // affiche les données pour voir si la fonction d EOF marche bien !!
    print ($mysqlQuery);

    // Create a data set in range (50,70) and X-positions
    DEFINE('NDATAPOINTS',360);
    DEFINE('SAMPLERATE',240);
    $start = time();
    $end = $start+NDATAPOINTS*SAMPLERATE;
    $data = array();
    $xdata = array();
    for( $i=0; $i < NDATAPOINTS; ++$i ) {
    $data[$i] = rand(50,70);
    $xdata[$i] = $start + $i * SAMPLERATE;
    }


    // Create the new graph
    $graph = new Graph(540,300);

    // Slightly larger than normal margins at the bottom to have room for
    // the x-axis labels
    $graph->SetMargin(40,40,30,130);

    // Fix the Y-scale to go between [0,100] and use date for the x-axis
    $graph->SetScale('datlin',0,100);
    // titre du gaphisme
    $graph->title->Set("monsite.COM");

    // Set the angle for the labels to 90 degrees
    $graph->xaxis->SetLabelAngle(90);

    $line = new LinePlot($data,$xdata);
    $line->SetLegend('Year 2005');
    $line->SetFillColor('lightblue@0.5');
    $graph->Add($line);
    $graph->Stroke();
    ?>

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/02/2016, 18h22
  2. [HTML 5] Faire des tracés à partir d'une base de données MySQL
    Par gsoub dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 06/04/2012, 14h43
  3. Réponses: 6
    Dernier message: 24/02/2011, 14h38
  4. [AC-2007] importer des données à partir d'une base de données sous access
    Par skipeemed dans le forum Access
    Réponses: 1
    Dernier message: 29/09/2010, 15h08
  5. tracer un graph à partir d'une base de données
    Par moustiqu3 dans le forum C#
    Réponses: 1
    Dernier message: 01/05/2010, 15h03

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