1
Indiquez l’intérêt que vous portez à cette question
0

utiliser l’api google chart avec une table externe

Francis82

Bonjour,
Si ça peut aider, voilà comment je fais (les puristes php me pardonnerons de n’avoir pas fait ça sous forme de class, mais ça marche...)

Ma table s’appelle spip_connaitre et contient :

  • l’adresse mail (clé unique)
  • le sexe : "Homme" ou "Femme"
  • la tranche d’age (select dans le formulaire)
  • la profession (select)
  • le secteur d’activité (select)

Tout d’abord lecture de la table :

ensuite, dans le head du squelette :

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
// Load the Visualization API and the piechart package.
google.load('visualization', '1.0', {'packages':['corechart']});
// Set a callback to run when the Google Visualization API is loaded.
google.setOnLoadCallback(drawChart);
// Callback that creates and populates a data table,
// instantiates the pie chart, passes in the data and
// draws it.
function drawChart() {
    // Create the data table.
    var data = new google.visualization.DataTable();
    data.addColumn('string', 'Topping');
    data.addColumn('number', 'Slices');

{// ici on charge l'api avec le tableau php}

    data.addRows([<?php 
       $tab="";
       foreach($sexe as $key=>$value){
	   if($tab!=""){$tab.=",";} // met une virgule après les valeurs sauf la dernière
	   $tab.="['".$key."',".$value."]";
       }
       echo $tab;
       ?>]);
 // Set chart options
        var options = {'title':'Répartition par genre',
           'width':465,
	   'is3D':true,
            'height':300};

// Instantiate and draw our chart, passing in some options.
       var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
</script>

Enfin, dans le body :

On fait la même chose pour les autres données et le tour est joué...

Si quelqu’un veut m’aider à réécrire ça de façon plus élégante, je suis preneur.