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 & Frameworks Discussion :

Basic column et json [HighCharts]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 6
    Points : 8
    Points
    8
    Par défaut Basic column et json
    Bonjour,

    Je souhaite réaliser un graphique Highcharts de ce style basic column

    Mon fichier json renvoyé est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [{"category":["Jan","Fev","Mar","Avr","Mai","Juin","Juil","Aout","Sept","Oct","Nov","Dec"],"name":2010,"val":[30,22,21,13,10,0,0,0,3,16,24,34]},{"name":2011,"val":[30,23,19,8,6,4,0,0,2,14,22,28]},{"name":2012,"val":[28,31,23,16,12,2,0,0,4,16,28,30]},{"name":2013,"val":[33,30,30,17,14,4,0,0,6,15,29,32]},{"name":2014,"val":[34,29,18]}]
    Mon script highchart est le suivant :
    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
     
    $(document).ready(function() {
                var options = {
                    chart: {
                        renderTo: 'container',
                        type: 'column'
                    },
                    title: {
                        text: 'Consommation pellets',
                        x: -20 //center
                    },
                    xAxis: {
    			categories: []
     
    				},
                    yAxis: {
                        title: {
                            text: 'Sacs'
                        },
                        plotLines: [{
                            value: 0,
                            width: 1,
                            color: '#808080'
                        }]
                    },
                    tooltip: {
    	                formatter: function() {
    	                        return '<b>'+ this.series.name +'</b><br/>'+
    	                        this.x +': '+ this.y;
    	                }
    	            },
                    legend: {
                        align: 'center',
                        verticalAlign: 'top',
                        x: -20,
                        y: 25,
                        borderWidth: 0
                    },
                    series: []
                }
     
                $.getJSON('../graphes/data_pellets_an2.php', function(json) {
                    options.xAxis.categories = json[0]['category'];
                    options.series[0] = json[1];
                    options.series[1] = json[2];
    		options.series[2] = json[3];
    		options.series[3] = json[4];
                    chart = new Highcharts.Chart(options);
                });
            });
    Malheureusement ne s'affiche que la légende (les années) et aucun graphe ! Je ne vois pas où est l'erreur !

    Nom : pellets.jpg
Affichages : 444
Taille : 71,4 Ko

    Pour info voici ma requête sql :

    Code php : 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
    <?php
    $host="localhost";
    $username=""; 
    $password=""; 
    $db_name="chauffage"; 
    $con=mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
    mysql_select_db("$db_name")or die("cannot select DB");
     
    $sql_2010 = mysql_query("SELECT year(datetime) as annee, month(datetime) as mois, sum(sacs) AS tsacs
    		FROM pellets
    		WHERE year(datetime) = '2010'
    		GROUP by mois
    		ORDER by mois");
     
    while($r_2010 = mysql_fetch_array($sql_2010)) {    
        $result_2010['category'] = ['Jan', 'Fev', 'Mar', 'Avr', 'Mai', 'Juin', 'Juil', 'Aout', 'Sept', 'Oct', 'Nov', 'Dec'];
    	$result_2010['name'] = $r_2010['annee'];
    	$result_2010['val'][] = $r_2010['tsacs'];
    }
     
    $sql_2011 = mysql_query("SELECT year(datetime) as annee, month(datetime) as mois, sum(sacs) AS tsacs
    		FROM pellets
    		WHERE year(datetime) = '2011'
    		GROUP by mois
    		ORDER by mois");
     
    while($r_2011 = mysql_fetch_array($sql_2011)) { 
    	$result_2011['name'] = $r_2011['annee'];
    	$result_2011['val'][] = $r_2011['tsacs'];
    }
     
    $sql_2012 = mysql_query("SELECT year(datetime) as annee, month(datetime) as mois, sum(sacs) AS tsacs
    		FROM pellets
    		WHERE year(datetime) = '2012'
    		GROUP by mois
    		ORDER by mois");
     
    while($r_2012 = mysql_fetch_array($sql_2012)) {    
        $result_2012['name'] = $r_2012['annee'];
    	$result_2012['val'][] = $r_2012['tsacs'];
    }
     
    $sql_2013 = mysql_query("SELECT year(datetime) as annee, month(datetime) as mois, sum(sacs) AS tsacs
    		FROM pellets
    		WHERE year(datetime) = '2013'
    		GROUP by mois
    		ORDER by mois");
     
    while($r_2013 = mysql_fetch_array($sql_2013)) {    
        $result_2013['name'] = $r_2013['annee'];
    	$result_2013['val'][] = $r_2013['tsacs'];
    }
     
    $sql_2014 = mysql_query("SELECT year(datetime) as annee, month(datetime) as mois, sum(sacs) AS tsacs
    		FROM pellets
    		WHERE year(datetime) = '2014'
    		GROUP by mois
    		ORDER by mois");
     
    while($r_2014 = mysql_fetch_array($sql_2014)) {    
        $result_2014['name'] = $r_2014['annee'];
    	$result_2014['val'][] = $r_2014['tsacs'];
    }
     
    $result = array($result_2010, $result_2011, $result_2012, $result_2013, $result_2014);
     
    print json_encode($result, JSON_NUMERIC_CHECK);
     
    mysql_close($con);
    ?>

    Je ne suis pas expert en la matière, je bidouille !
    Merci pour votre aide.

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 6
    Points : 8
    Points
    8
    Par défaut
    L'erreur était dans la requete sql. Le format json était incorrect.
    Pour ce format json :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [{"name":"mois","data":["Jan","Fev","Mars","Avr","Mai","Juin","Juil","Aout","Sept","Oct","Nov","Dec"]},{"name":2010,"data":[30,22,21,13,10,0,0,0,3,16,24,34]},{"name":2011,"data":[30,23,19,8,6,4,0,0,2,14,22,28]},{"name":2012,"data":[28,31,23,16,12,2,0,0,4,16,28,30]},{"name":2013,"data":[33,30,30,17,14,4,0,0,6,15,29,32]},{"name":2014,"data":[34,29,18]}]
    Voici la requete sql :
    Code php : 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
    <?php
    $host="localhost";
    $username=""; 
    $password=""; 
    $db_name="chauffage"; 
    $con=mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
    mysql_select_db("$db_name")or die("cannot select DB");
     
    $sql_2010 = mysql_query("SELECT year(datetime) as annee, month(datetime) as mois, sum(sacs) AS tsacs
    		FROM pellets
    		WHERE year(datetime) = '2010'
    		GROUP by mois
    		ORDER by mois");
     
    $mois['name'] = 'mois';
    $mois['data'] = ['Jan', 'Fev', 'Mars', 'Avr', 'Mai', 'Juin', 'Juil', 'Aout', 'Sept', 'Oct', 'Nov', 'Dec'];		
     
    while($r_2010 = mysql_fetch_array($sql_2010)) {    
        $result_2010['name'] = $r_2010['annee'];
    	$result_2010['data'][] = $r_2010['tsacs'];
    }
     
    $sql_2011 = mysql_query("SELECT year(datetime) as annee, month(datetime) as mois, sum(sacs) AS tsacs
    		FROM pellets
    		WHERE year(datetime) = '2011'
    		GROUP by mois
    		ORDER by mois");
     
    while($r_2011 = mysql_fetch_array($sql_2011)) { 
    	$result_2011['name'] = $r_2011['annee'];
    	$result_2011['data'][] = $r_2011['tsacs'];
    }
     
    $sql_2012 = mysql_query("SELECT year(datetime) as annee, month(datetime) as mois, sum(sacs) AS tsacs
    		FROM pellets
    		WHERE year(datetime) = '2012'
    		GROUP by mois
    		ORDER by mois");
     
    while($r_2012 = mysql_fetch_array($sql_2012)) {    
        $result_2012['name'] = $r_2012['annee'];
    	$result_2012['data'][] = $r_2012['tsacs'];
    }
     
    $sql_2013 = mysql_query("SELECT year(datetime) as annee, month(datetime) as mois, sum(sacs) AS tsacs
    		FROM pellets
    		WHERE year(datetime) = '2013'
    		GROUP by mois
    		ORDER by mois");
     
    while($r_2013 = mysql_fetch_array($sql_2013)) {    
        $result_2013['name'] = $r_2013['annee'];
    	$result_2013['data'][] = $r_2013['tsacs'];
    }
     
    $sql_2014 = mysql_query("SELECT year(datetime) as annee, month(datetime) as mois, sum(sacs) AS tsacs
    		FROM pellets
    		WHERE year(datetime) = '2014'
    		GROUP by mois
    		ORDER by mois");
     
    while($r_2014 = mysql_fetch_array($sql_2014)) {    
        $result_2014['name'] = $r_2014['annee'];
    	$result_2014['data'][] = $r_2014['tsacs'];
    }
     
    $result = array($mois, $result_2010, $result_2011, $result_2012, $result_2013, $result_2014);
     
    print json_encode($result, JSON_NUMERIC_CHECK);
     
    mysql_close($con);
    ?>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/05/2015, 10h46
  2. Différences entre Delphi et Visual Basic ?
    Par Anonymous dans le forum Débats sur le développement - Le Best Of
    Réponses: 75
    Dernier message: 30/03/2009, 20h09
  3. VB.NET vs C# vs Java ou existe-t-il une vie après Visual Basic 6 ?
    Par B-Pascal dans le forum Débats sur le développement - Le Best Of
    Réponses: 32
    Dernier message: 05/07/2007, 12h46
  4. [Turbo Pascal] Appel involontaire de la ROM BASIC
    Par pitchoun dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 01/03/2003, 20h56
  5. Créer un interpréteur de langage inspiré du Basic
    Par Picasso dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 11/05/2002, 17h10

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