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

Langage PHP Discussion :

Courbes avec jpgraph depuis base de données


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Amateur
    Inscrit en
    Mai 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Mai 2016
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Courbes avec jpgraph depuis base de données
    BONJOUR

    Je viens vers vous pour avoir de l'aide sur JPGRAPH.
    J'arrive à lire des données depuis ma base de données météo et je voudrais tracer des courbes de température ou autres données.
    Je butte sur la transcription de ces courbes.

    Voici mon code. Quelqu'un peut -il m'aider ?
    L'erreur affichée est : " JpGraph Error: 25044 Cannot use auto scaling since it is impossible to determine a valid min/max value of the Y-axis (only null values)."
    J'avoue ne pas comprendre ce qu'il faut faire.
    Code:

    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
    <?php
    while ($numero <= $numeromax )
    {
    $req= "SELECT * FROM ****** where numero = $numero ";
    $execution=mysql_query($req);
    $row = mysql_fetch_row($execution);
    $donnees[$numero] = $row[6];
     
    $heure[$numero]= $numero - $numeromin+1;
    echo $donnees[$numero];
    echo " à "; 
    echo $heure[$numero];
    echo "--/--";
    $numero = $numero +1;
    }
    mysql_close;
    ?>
    </br>
    </br>
    <?php
    require_once("jpgraph.php");
    require_once("jpgraph_line.php");
    $largeur = 800;
    $hauteur = 400;
     
    // Initialisation du graphique
    $graph = new Graph($largeur, $hauteur);
    // Echelle lineaire ('lin') en ordonnee et valeur en abscisse ('text')
    // Valeurs min et max seront determinees automatiquement
    $graph->setScale("textlin");
     
     
    // Creation de l'histogramme
    $histo = new LinePlot($donnees);
    // Ajout de l'histogramme au graphique
    $graph->add($histo);
     
    // Ajout du titre du graphique
    $graph->title->set("COURBE");
     
    // Affichage du graphique
    $graph->stroke();
    ?>
    Merci d'avance,
    Bernard

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Le message "only null values" semble sous-entendre qu'il n'y a rien à afficher.
    Essayer d'afficher le contenu de $donnees avant la création du graph.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Amateur
    Inscrit en
    Mai 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Mai 2016
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Courbes avec jpgraph -suite
    Bonjour et merci pour votre réponse,
    C'est ce que je craignais, j'ai donc fait afficher par une boucle supplémentaire, disposée après la lecture de la base de données et fermeture de celle-ci.
    Les données existent bien et sont bien toutes différentes.
    Maintenant, l'erreur affichée est
    L'image ne peut être affichée car elle contient des erreurs.
    Pourriez vous m'aider en disant quelles sont ces erreurs ?
    Merci d'avance

    voici le code:
    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
    <?php
    $donnees = array();
     
    $basedonnée="C05861_FETES";
    $utilisateur="******";
    $motdepasse="******";
    $serveur="localhost";
    $link = mysql_connect($serveur,$utilisateur,$motdepasse);
    $db= mysql_select_db($basedonnée);
    $req= "SELECT MAX(numero) FROM DONNEES_METEO_2010 ";
    $execution=mysql_query($req);
    $row = mysql_fetch_row($execution);
    $numero=$row[0];
    $numeromax = $numero;
    $numeromin = $numero-24;
    $numero= $numeromin;
    $indice = 0;
     
    while ($numero <= $numeromax )
    {
    $indice = $indice+1;
    $req= "SELECT temperature FROM DONNEES_METEO_2010 where numero = $numero ";
    $execution=mysql_query($req);
    $row = mysql_fetch_row($execution);
    $donnees[$indice] = $row[0];
    $numero = $numero +1;
     
    }
    mysql_close;
     
    for ($i=1; $i<=25; $i++)
    {
    echo " La température n° "; 
    echo $i;
    echo " est: ";
    echo $donnees[$i];
    ?>
    </br>
    <?php
    }
    // courbe 
    require_once("jpgraph.php");
    require_once("jpgraph_line.php");
     
    $largeur = 800;
    $hauteur = 400;
     
    // Initialisation du graphique
    $graph = new Graph($largeur, $hauteur);
    // Echelle lineaire ('lin') en ordonnee et pas de valeur en abscisse ('text')
    // Valeurs min et max seront determinees automatiquement
    $graph->setScale("textlin");
     
    // Creation de l'histogramme
    $histo = new LinePlot($donnees);
    // Ajout de l'histogramme au graphique
    $graph->add($histo);
     
    // Ajout du titre du graphique
    $graph->title->set("COURBE");
     
    // Affichage du graphique
    $graph->stroke();
     
    ?>

  4. #4
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 628
    Points
    3 628
    Billets dans le blog
    8
    Par défaut
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT numero,temperature
     FROM DONNEES_METEO_2010  
    WHERE numero<=(select max(numero) from DONNEES_METEO_2010)
    and numero>=(select max(numero)-24 from DONNEES_METEO_2010)
    order by numero
    Tu peux tester cette requête dans ton PHPmyadmin ?

    Il me semble qu'elle fera ce que tu veux en un seul jet...
    Après tu récupères le résultat avec un classique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $data=array();
    while($row=mysql_fetch_assoc($execution)){
       $data[]=$row;
    }

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Amateur
    Inscrit en
    Mai 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Mai 2016
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    @Dendrite

    Merci bien pour ton aide.
    Malheureusement, avec le code recopié, la lecture des données ne se fait pas ($data est vide) d'où bien sûr aucun graphe.
    Je continue mon tâtonnement.
    Quelqu'un peut-il me donner un avis ?
    merci.
    Bernard

  6. #6
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 628
    Points
    3 628
    Billets dans le blog
    8
    Par défaut
    Je t'ai posé une question il me semble ?
    Citation Envoyé par Dendrite Voir le message
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT numero,temperature
     FROM DONNEES_METEO_2010  
    WHERE numero<=(select max(numero) from DONNEES_METEO_2010)
    and numero>=(select max(numero)-24 from DONNEES_METEO_2010)
    order by numero
    Tu peux tester cette requête dans ton PHPmyadmin ?

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Amateur
    Inscrit en
    Mai 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Mai 2016
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Dendrite Voir le message
    Je t'ai posé une question il me semble ?
    Merci pour ton aide.
    En fait, le code présenté en premier lieu me permet bien de tracer des courbes à partir de mes donnes de ma BD.
    Il fallait juste:
    - supprimer les code d'impression "echo",
    - mettre les 2 instructions "require_once" en tête du code et faire la lecture de la base de données après.

    J'avoue ne rien y comprendre mais dans cet ordre, cela marche,

    En voici la preuve: http://meteo-bernard.fr/GRAPHIQUES/j...src/GRAPHE.php
    Il ne manque plus qu'à affiner la présentation.
    Merci de intéresser à mon problème, je vais tester ton code, un peu plus simple que le mien.
    Bernard

Discussions similaires

  1. [MySQL] Système de gestion avec calendrier et base de données
    Par almisuifre dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 14/12/2006, 23h08
  2. [SQL2K] : Synchronisation avec d'autres bases de données
    Par zalalus dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 21/07/2006, 17h07
  3. pb avec mysql comme base de données
    Par rpd05 dans le forum Installation
    Réponses: 1
    Dernier message: 27/06/2006, 21h12
  4. Liaison de table avec une autre base de donnée
    Par freya91 dans le forum Access
    Réponses: 1
    Dernier message: 03/06/2006, 00h08
  5. [VBA-E] Requète SQL avec chemin de base de données variable
    Par Svart26 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/05/2006, 13h29

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