Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probème JpGraph

    30 mars 2020 à 18:01:18

    Bonjour,

    Je suis débutante en php et j'essaye depuis des jours de créer un graphe à partir de données MySQL. 

    Le graphe représente la variation de la température en fonction du temps. Je bloque depuis deux jours, le graphe n'était pas affiché. Seules les données de ma table s'affichent.

    Voici le code:

    <?php
     
    require ('jpgraph.php');
    require ('jpgraph_line.php');
    // Caractéristique de la bdd mysql
    $servername = "localhost";
    $username = "admin";
    $password = "";
    $dbname = "test";
     
    // Connexion à la bdd
    $conn = mysqli_connect($servername, $username, $password, $dbname);
     
    // Verification de la connexion
    if (!$conn) {
         die("Connection failed: " . mysqli_connect_error());
    }
     
    $sql = "SELECT time,value FROM exemple";
    $result = mysqli_query($conn, $sql);
     
    if (mysqli_num_rows($result) > 0)
    {
         // output data of each row
         while($row = mysqli_fetch_array($result))
         {
             echo "Time: " . $row ["time"]. " - Value: " . $row["value"]. "<br>";
         }
    }
    else
    {
         echo "0 results";
    }
     
    // Initialisation des tableaux vides
    $xdata=array();
    $ydata=array();
     
    // Alimentation des tableaux
    while($row=mysqli_fetch_array($result))
    {
        $xdata[]=$row("time");
        $ydata[]=$row["value"];
    }
     
     
     
    //**********************
    // Création du graphique
    //**********************
     
    //print_r($xdata);
    $graph = new Graph(920,500);
    $graph->SetScale("intlin");
    $graph->SetMargin(80,30,40,50);
    $graph->SetMarginColor('white');
    $graph->SetFrame(false,'blue',3);
     
    //Set Title Attributes
    $graph->title->Set("Température");
    $graph->yaxis->SetTitleMargin(50);
    $graph->title->SetFont(FF_ARIAL,FS_BOLD,12);
     
    //Set Subtitle Attributes
    $graph->subtitle->Set("Last 18 Hours");
    $graph->subtitle->SetFont(FF_ARIAL,FS_BOLD,10);
    $graph->subtitle->SetColor('black');
     
    //$graph->xaxis->SetLabelAngle(90);
    $graph->xaxis->SetTickLabels($xdata);
    $graph->xaxis->SetTextLabelInterval(2);
     
    // Use Arial font
    $graph->xaxis->SetFont(FF_ARIAL,FS_BOLD,9);
    $graph->SetAxisLabelBackground(LABELBKG_XAXIS,'orange','red','lightblue','red');
    $graph->yaxis->SetFont(FF_ARIAL,FS_BOLD,9);
    $graph->xgrid->Show();
     
    // Create the plot line
    $p1 = new LinePlot($ydata);
    $p1->value->SetFont( FF_FONT1, FS_BOLD);
    $p1->value->SetAlign('center');
     
    //Set y-axis title
    $graph->yaxis->title->Set("value)");
    $graph->yaxis->SetLabelAlign('right','bottom');
     
    // Ajout de la courbe au graphique
    $graph->Add($p1);
     
    $graph->Stroke();
     
     
    ?>

    Voici ce qui s'affiche 

    Je n'ai pas compris aussi l'erreur affichée JpGraph Error: 25121 Empty input data array specified for plot. Must have at least one data point.

    Y a t-il quelqu'un qui peut m'aider s'il vous plaît je suis bloquée et je dois créer des graphes à partir de mysql pour mon PFE. Merci beaucoup d'avance.

    • Partager sur Facebook
    • Partager sur Twitter
      30 mars 2020 à 19:00:17

      Bonjour,

      GD est bien activé sur ton serveur?

      Voir ici qui semble provoquer la même erreur: https://www.developpez.net/forums/d1163931/php/langage/syntaxe-non-prise-compte-jpgaph-php/

      -
      Edité par tartanpion52 30 mars 2020 à 19:06:47

      • Partager sur Facebook
      • Partager sur Twitter
      Merci de signaler votre sujet résolu, cela nous évite des pages de lecture inutile pour arriver au bout de 15 réponses sur la dernière qui dit "merci problème résolut!"
        30 mars 2020 à 21:11:43

        Bonsoir,

        Merci pour votre réponse , j'ai vérifié et j'ai trouvé que GD est activé sur mon serveur et j'ai regardé le lien que vous avez mis mais j'ai pas bien compris malheureusement vu que je suis encore débutante est-ce que je dois insérer une image au débit du script ? pouvez-vous m'aider encore plus s'il vous plaît ? Merci 

        • Partager sur Facebook
        • Partager sur Twitter
          30 mars 2020 à 22:15:55

          re,

          j'ai juste fais une recherche rapide sur le sujet, mais je ne connais pas pas cette source.

          Par contre en regardant vite fait je suis tombé sur un tuto qui devrait t'aider: https://www.youtube.com/watch?v=so61sMjcp0Q

          car si j'ai bien compris il faut appeler le script via une balise image.

          • Partager sur Facebook
          • Partager sur Twitter
          Merci de signaler votre sujet résolu, cela nous évite des pages de lecture inutile pour arriver au bout de 15 réponses sur la dernière qui dit "merci problème résolut!"
            30 mars 2020 à 22:24:53

            Ah d'accord merci énormément je vais regarder ce tuto et essayer de résoudre le problème. Merci encore une fois.
            • Partager sur Facebook
            • Partager sur Twitter

            Probème JpGraph

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown