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 :

Créer une courbe à partir d'une base de données


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 13
    Points : 6
    Points
    6
    Par défaut Créer une courbe à partir d'une base de données
    Revoilà la noob en prog qui veut faire des truc qu'elle sait pas faire XD

    Alors voilà l'idée, j'aimerai faire une courbe de poids sur mon site à partir de ma base de données.

    Ma base de donnée a donc une table intitulée "courbespoids"
    Dedans il y a pour le moment 4 Champs :
    -ID
    -age
    -acidofilo
    -adie

    Donc Id, bah ID quoi XD, age c'est l'age de chacun des individus (1 mois, 2mois, etc...), et acidofilo et adie ce sont 2 individus parmis les nombreux autres qui seront répertoriés et les données qui leur sont attribuées ce sont leur poids respectifs en fonction de leur age.

    Alors voilà l'idée, pour chacun individu, le fait une page sur mon site, et j'aimerai faire une courbe de poids pour chacun, et que tous les mois quand je les pèse, j'ai juste a entrer les nouvelles données dans ma base de donnée pour que toutes mes courbes se mettent à jours toute seule.

    Si je prend l'exemple d'acidofilo, je voudrais donc faire une courbe avec en ordonnée son age, et en abscisse son poids.

    J'ai donc regardé pas mal d'exemples sur le net, j'ai résussi a faire un graphique avec jpgraph comme librairie, voilà ce que ca donne :
    http://www.piwyangel.fr/lespiwrats/l...cidofilo4.html

    Maintenant je voudrais que les données du graph soit prise de ma base de données comme je l'ai expliqué, alors j'ai lu tout un truc sur jpgraph pour faire des graphiques avec une base de donnée, mais les codes sont mis pour faire des calcul à partir de la base de données, et moi je veux juste afficher telles quelles les données qui sont dedans.

    Du coup je suis un peu pomme ^^

    Si quelqu'un pouvait m'aider svp.

    Merci d'avance

  2. #2
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Voilà le code que j'ai tenté après avoir épluché différent codes :

    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
    <?php
    require_once("include_path_inc.php");
     
    require_once("jpgraph.php");
    require_once("jpgraph_line.php");
     
    // Constantes (connexion mysql)
    $myServer = "*****";
    $myUser = "piwyangejoomla";
    $myPass = "*****";
    $myDB = "courbespoids";
     
    // Connexion à la BDD
    $s = @mysql_connect($myServer, $myUser, $myPass) or die ("Problème de connexion Mysql");
     
    // Selection de la base de données
    $d = @mysql_select_db($myDB) or die ("Problème de selection de la base de donnée");
     
    //requete sql
    $query = "select Age, Acidofilo from courbespoids order by Age";
    // EXECUTION DE LA REQUETE QUERY
    $result = mysql_query($query); 
     
    //data pour le graphe
    if ($myrow=mysql_fetch_array($result)) {
    do {
    $data[] = $myrow["Acidofilo"]; //contient les poids
    $data_names[] = $myrow["Age"]; //contient les ages
    }while ($myrow=mysql_fetch_array($result));
    }
     
     
    $largeur = 800;
    $hauteur = 400;
     
    // Initialisation du graphique
    $graphe = new Graph($largeur, $hauteur);
    // Echelle lineaire ('lin') en ordonnee et pas de valeur en abscisse ('text')
    // Valeurs min et max seront determinees automatiquement
    $graphe->setScale("textlin");
     
    // Creation de la courbe
    $courbe = new LinePlot($data);
    // Ajout de la courbe au graphique
    $graphe->add($courbe);
     
    // Ajout du titre du graphique
    $graphe->title->set("Courbe");
     
    // Affichage du graphique
    $graphe->stroke();
    ?>
    Mais ca en marche pas Quelqu'un peut-il m'aider ?

  3. #3
    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
    Va falloir détailler un peu le "ça ne marche pas" : tu obtiens une page blanche ? un message d'erreur ? une explosion de l'écran ?

    Au passage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //data pour le graphe
    if ($myrow=mysql_fetch_array($result)) {
    do {
    $data[] = $myrow["Acidofilo"]; //contient les poids
    $data_names[] = $myrow["Age"]; //contient les ages
    }while ($myrow=mysql_fetch_array($result));
    }
    peut s'écrire aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //data pour le graphe
    while ($myrow=mysql_fetch_array($result)) {
    $data[] = $myrow["Acidofilo"]; //contient les poids
    $data_names[] = $myrow["Age"]; //contient les ages
    }
    (personnellement les do/while me donnent mal à la tête, mais après c'est toi qui voit)

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Et bien en fait j’appelle mon graphique sur ma page par le biais d'une image.

    Et en fait au lieu d'avoir l'image du graphique sur ma page j’obtiens le nom de mon image que j'ai mis en "ALT" quoi.

    Je vais essayer avec ton code

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Ca marche toujours pas :'(

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 146
    Points : 72
    Points
    72
    Par défaut
    tu as aucun message d'erreur ?
    tu as vérifier les valeurs de retour des méthodes que tu utilise ?

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Voilà ce que ça donne à l'écran : http://www.piwyangel.fr/lespiwrats/l...cidofilo4.html

    Voilà le code de cette page qui insère la courbe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <img alt="Courbe de poids" src="./../courbespoids/poidsacidofilo.php" />
    Et le code de ma apge "poidsacidofilo.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
    <?php
    require_once("include_path_inc.php");
     
    require_once("jpgraph.php");
    require_once("jpgraph_line.php");
     
    // Constantes (connexion mysql)
    $myServer = "mysql5-28.perso";
    $myUser = "piwyangejoomla";
    $myPass = "*****";
    $myDB = "courbespoids";
     
    // Connexion à la BDD
    $s = @mysql_connect($myServer, $myUser, $myPass) or die ("Problème de connexion Mysql");
     
    // Selection de la base de données
    $d = @mysql_select_db($myDB) or die ("Problème de selection de la base de donnée");
     
    //requete sql
    $query = "select Age, Acidofilo from courbespoids order by Age";
    // EXECUTION DE LA REQUETE QUERY
    $result = mysql_query($query); 
     
    //data pour le graphe
    while ($myrow=mysql_fetch_array($result)) {
    $data[] = $myrow["Acidofilo"]; //contient les poids
    $data_names[] = $myrow["Age"]; //contient les ages
    }
     
     
    $largeur = 800;
    $hauteur = 400;
     
    // Initialisation du graphique
    $graphe = new Graph($largeur, $hauteur);
    // Echelle lineaire ('lin') en ordonnee et pas de valeur en abscisse ('text')
    // Valeurs min et max seront determinees automatiquement
    $graphe->setScale("textlin");
     
    // Creation de la courbe
    $courbe = new LinePlot($data);
    // Ajout de la courbe au graphique
    $graphe->add($courbe);
     
    // Ajout du titre du graphique
    $graphe->title->set("Courbe");
     
    // Affichage du graphique
    $graphe->stroke();
    ?>
    Comment savoir s'il y a un message d'erreur ?

  8. #8
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Ah si voilà ce qu'il me dit "Problème de selection de la base de donnée"

  9. #9
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Ouais j'ai trouvé mon erreur, j'ai mis le nom de ma table au lieu du nom de ma BDD. Du coup ça marche.

    Maintenant j'aimerais savoir s'il serait possible de ne pas tenir compte d'une valeur si elle est nulle ?

    J'explique, en fait y a des mois ou j'oublie de les peser, ce qui fait qu'il y a des fois ou les valeur sont nulles, c'est pas pour autant qu'il pesaient 0g a ce moment là. Alors j'aimerai que quand la valeur vaut 0, il en tienne pas compte et que la courbe rejoigne le point suivant.
    Estce que c'est possible ou non ?

  10. #10
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Me voici avec un nouveau probleme...

    Je n'arrive pas à mettre des titres à mes axes.

    Mon 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
    66
    67
    68
    69
    70
    71
    72
    73
    74
    <?php
    include("include_path_inc.php");
     
    include("jpgraph.php");
    include("jpgraph_line.php");
     
    // Constantes (connexion mysql)
    $myServer = "mysql5-28.perso";
    $myUser = "piwyangejoomla";
    $myPass = "********";
    $myDB = "piwyangejoomla";
     
     
    // Connexion à la BDD
    $s = @mysql_connect($myServer, $myUser, $myPass) or die ("Problème de connexion Mysql");
     
    // Selection de la base de données
    $d = @mysql_select_db($myDB) or die ("Problème de selection de la base de donnée");
     
    //requete sql
    $query = "select Age, Adie from courbespoids order by Age";
    // EXECUTION DE LA REQUETE QUERY
    $result = mysql_query($query); 
     
    //data pour le graphe
    while ($myrow=mysql_fetch_array($result)) {
    $data[] = $myrow["Adie"]; //contient les poids
    $data_names[] = $myrow["Age"]; //contient les ages
    }
     
     
    $largeur = 800;
    $hauteur = 400;
     
    // Initialisation du graphique
    $graphe = new Graph($largeur, $hauteur);
     
    // Echelle lineaire ('lin') en ordonnee et pas de valeur en abscisse ('text')
    // Valeurs min et max seront determinees automatiquement
    $graphe->setScale("textlin");
     
    // Creation de la courbe
    $courbe = new LinePlot($data);
     
    // Afficher les valeurs pour chaque point
    $courbe->value->Show();
     
    // Valeurs: Apparence de la police
    $courbe->value->SetFormat('%d');
    $courbe->value->SetColor("#320606");
     
    // Chaque point de la courbe ****
    // Type de point
    $courbe->mark->SetType(MARK_CROSS);
    // Couleur de remplissage
    $courbe->mark->SetFillColor("#320606");
    // Taille
    $courbe->mark->SetWidth(5);
     
    // Couleur de la courbe
    $courbe->SetColor("#320606");
    $courbe->SetCenter();
     
    // Paramétrage des axes
         $graph->xaxis->title->Set("Age en mois");
         $graph->yaxis->title->Set("Poids en grammes");
     
     
    // Ajout de la courbe au graphique
    $graphe->add($courbe);
     
    // Affichage du graphique
    $graphe->stroke();
    ?>
    Et le message d'erreur :
    Fatal error: Call to a member function Set() on a non-object in /homez.420/piwyange/www/lespiwrats/l-equipage/courbespoids/poidsadie.php on line 65

    Je ne comprend pas j'ai passé l'aprem à regarder des site et c'est bien ce code là pour mettre des titres, et ça ne marche pas

    Quelqu'un a une idée ?

  11. #11
    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
    Pour ignore les valeurs nulles, personnellement je modifierais la requête qui récupère les données pour ne pas les prendre en compte.
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select Age, Adie 
    from courbespoids 
    where Adie is not null
    order by Age
    et pour tes titres, tu peux essayer cette syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $graph->xaxis->SetTitle("Age en mois");

Discussions similaires

  1. Tracer une courbe à partir d'une base de données JSP/Servlet
    Par marouene_ dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 17/10/2015, 11h29
  2. [MySQL] Afficher une image à partir stockée en base de données
    Par arti2004 dans le forum PHP & Base de données
    Réponses: 22
    Dernier message: 21/06/2011, 19h40
  3. Interpoler une courbe à partir d'une image
    Par killerfrog dans le forum MATLAB
    Réponses: 3
    Dernier message: 13/03/2007, 22h44
  4. Expression d'une fonction à partir d'une courbe
    Par ramrouma dans le forum MATLAB
    Réponses: 2
    Dernier message: 08/01/2007, 17h52
  5. [MySQL] Afficher une photo à partir de la base de données
    Par microcongo dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 07/09/2005, 17h29

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