Exploiter des données d'une bd dans un fichier javascript à partir d'une applica

soukaouta Messages postés 39 Date d'inscription vendredi 29 octobre 2010 Statut Membre Dernière intervention 16 novembre 2012 - 20 sept. 2012 à 17:59
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 21 sept. 2012 à 14:59
je travaille avec j2EE,et je veux créer un graphe avec javascript,le probleme c'est que je sais pas comment connecter une base de données avec un fichier javascrip.
merci pour l'aide.

3 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
21 sept. 2012 à 08:19
Salut,

Tu ne peux pas le faire directement, ta base de données se trouve côté serveur et javascript est côté client.

Il faut que tu envois les données au javascript qui fera le graphique. Tu as le code qui permet de faire un graphique avec javascript ? Si c'est le cas, il suffit d'adapter tes managedBean pour qu'ils envoient les bonnes valeurs à ton script.
0
soukaouta Messages postés 39 Date d'inscription vendredi 29 octobre 2010 Statut Membre Dernière intervention 16 novembre 2012
21 sept. 2012 à 08:49
Bonjour,
j'ai le code javascript qui fera le graphique,le voilà:
$(function () {
    var chart,
        categories = ['0-4', '5-9', '10-14', '15-19',
            '20-24', '25-29', '30-34', '35-39', '40-44',
            '45-49', '50-54', '55-59', '60-64', '65-69',
            '70-74', '75-79', '80-84', '85-89', '90-94',
            '95-99', '100 +'];
    $(document).ready(function() {
        chart = new Highcharts.Chart({
            chart: {
                renderTo: 'container',
                type: 'bar'
            },
            title: {
                text: 'Population pyramid for Germany, midyear 2010'
            },
            subtitle: {
                text: 'Source: www.census.gov'
            },
            xAxis: [{
                categories: categories,
                reversed: false
            }, { // mirror axis on right side
                opposite: true,
                reversed: false,
                categories: categories,
                linkedTo: 0
            }],
            yAxis: {
                title: {
                    text: null
                },
                labels: {
                    formatter: function(){
                        return (Math.abs(this.value) / 1000000) + 'M';
                    }
                },
                min: -4000000,
                max: 4000000
            },
    
            plotOptions: {
                series: {
                    stacking: 'normal'
                }
            },
    
            tooltip: {
                formatter: function(){
                    return ''+ this.series.name +', age '+ this.point.category +'
'+
                        'Population: '+ Highcharts.numberFormat(Math.abs(this.point.y), 0);
                }
            },
    
            series: [{
                name: 'Male',
                data: [-1746181, -1884428, -2089758, -2222362, -2537431, -2507081, -2443179,
                    -2664537, -3556505, -3680231, -3143062, -2721122, -2229181, -2227768,
                    -2176300, -1329968, -836804, -354784, -90569, -28367, -3878]
            }, {
                name: 'Female',
                data: [1656154, 1787564, 1981671, 2108575, 2403438, 2366003, 2301402, 2519874,
                    3360596, 3493473, 3050775, 2759560, 2304444, 2426504, 2568938, 1785638,
                    1447162, 1005011, 330870, 130632, 21208]
            }]
        });
    });
    
});

je veux que data prend ces valeurs à partir de la base de données,comment je peux adapter le managedBean pour envoyer ces données??
merci
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
21 sept. 2012 à 14:59
Dans ce cas, tu peux remplir dynamiquement les valeurs des tableaux data: [-1746181,,...avec le code coté serveur.
0
Rejoignez-nous