Graphe php mysql
Bonjour,
je veux crée un graphe dans une application web(php mysql) le problème c'est que je n'est pas un nombre précis de partions je veux que le graphe se divise selon le nombre de ligne de ma table (contient les donne de ma base de donne mysql)
je ne sait pas s'il est faisable avec une boucle sur le code javascript du graphe
par exemple dans le code si dessous j'ai définie 9 partition mais il se peut que la table contient plus au moins
merci
je veux crée un graphe dans une application web(php mysql) le problème c'est que je n'est pas un nombre précis de partions je veux que le graphe se divise selon le nombre de ligne de ma table (contient les donne de ma base de donne mysql)
je ne sait pas s'il est faisable avec une boucle sur le code javascript du graphe
par exemple dans le code si dessous j'ai définie 9 partition mais il se peut que la table contient plus au moins
<?php
//conction to database
include('mysql_db_connect.php') ;
// Execute the query (the recordset $rs contains the result)
$req="SELECT Count(`Numéro`) AS CompteDeNuméro, `Affectation`,AVG(`duree`)AS 'Durrée Avant cloture' FROM `table 1`WHERE ((`État` Like 'closed') AND (`Brève description` Like '%opm%' Or `Brève description` Like '%saisi%' Or `Brève description` Like '%firewal%' Or `Brève description` Like '%instrumen%' Or `Brève description` Like '%tonnage%')) OR (((État) Like 'closed') AND (`Brève description` Like '%formule%' Or `Brève description` Like '%bascule%' Or `Brève description` Like '%opm%')) OR ((`État` Like 'closed') AND (`Brève description` Like '%étalonnage%' Or `Brève description` Like '%compteur%' Or `Brève description` Like '%remontée%')) OR ((`État` Like 'closed') AND (`Brève description` Like '%débimètre%' Or `Brève description` Like '%automate%' Or `Brève description` Like '% tag %')) OR ((`État` Like 'closed') AND (`Brève description` Like '%capteur%' Or `Brève description` Like '%forçage%')) OR ((`État` Like 'closed') AND (`Brève description` Like '%écart%' Or `Brève description` Like '%coefficient%')) OR ((`État` Like 'closed') AND (`Brève description` Like 'formation%' Or `Brève description` Like '%instrument%' Or `Brève description` Like '%rapport%')) OR ((`État` Like 'closed') AND (`Brève description` Like '%opc%' Or `Brève description` Like '%NACHA%' Or `Brève description` Like '%NAEPI%' Or `Brève description` Like '%NALAV%' Or `Brève description` Like '%NACA%' Or `Brève description` Like 'NAC%' Or `Brève description` Like 'NASE%' Or `Brève description` Like '%NAGEF%' Or `Brève description` Like '%NAGEFL%' Or `Brève description` Like '% PB-GA%')) OR ((`État` Like 'closed') AND (`Brève description` Like '%export%' And `Brève description` Like '%pdf%')) GROUP BY `Affectation` ORDER BY Count(`Numéro`)";
$result=mysql_query($req)or die(mysql_error());
$Affectation[]=array();
$CompteDeNuméro[]=array();
$i=0;
while($row=mysql_fetch_assoc($result)){
$Affectation[$i]=$row['Affectation'];
$CompteDeNuméro[$i]=$row['CompteDeNuméro'];
$i=$i+1;
}
?>
<html>
<head>
<title>Doughnut Chart</title>
<script src="../src/Chart.Core.js"></script>
<script src="../src/Chart.Doughnut.js"></script>
<style>
body{
padding: 0;
margin: 0;
}
#canvas-holder{
width:30%;
}
</style>
</head>
<body>
<div id="canvas-holder">
<canvas id="chart-area" width="500" height="500"/>
</div>
<script>
var tab1 = <?php echo json_encode($Affectation); ?>;
var tab2 = <?php echo json_encode($CompteDeNuméro); ?>;
var x = <?php echo json_encode($i); ?>;
var doughnutData = [
{
value: tab2[0],
label: tab1[0],
},
{
value: tab2[1],
label: tab1[1],
},
{
value: tab2[2],
label: tab1[2],
},
{
value: tab2[3],
label: tab1[3],
},
{
value: tab2[4],
label: tab1[4],
},
{
value: tab2[5],
label: tab1[5],
},
{
value: tab2[6],
label: tab1[6],
},
{
value: tab2[7],
label: tab1[7],
},
{
value: tab2[8],
label: tab1[8],
}
];
window.onload = function(){
var ctx = document.getElementById("chart-area").getContext("2d");
window.myDoughnut = new Chart(ctx).Doughnut(doughnutData, {responsive : true});
};
</script>
</body>
</html>
merci
4 réponses
-
bonjour s'il vous plait je veux cree une boucle comme celle en haut pour le code d'un autre type de graphe j'ai pas pu arrivais
<?php
//conction to database
include('mysql_db_connect.php') ;
// Execute the query (the recordset $rs contains the result)
$req="SELECT Count(`Numéro`) AS CompteDeNuméro, `Affectation`,AVG(`duree`)AS 'Durrée Avant cloture' FROM `table 1`WHERE ((`État` Like 'closed') AND (`Brève description` Like '%opm%' Or `Brève description` Like '%saisi%' Or `Brève description` Like '%firewal%' Or `Brève description` Like '%instrumen%' Or `Brève description` Like '%tonnage%')) OR (((État) Like 'closed') AND (`Brève description` Like '%formule%' Or `Brève description` Like '%bascule%' Or `Brève description` Like '%opm%')) OR ((`État` Like 'closed') AND (`Brève description` Like '%étalonnage%' Or `Brève description` Like '%compteur%' Or `Brève description` Like '%remontée%')) OR ((`État` Like 'closed') AND (`Brève description` Like '%débimètre%' Or `Brève description` Like '%automate%' Or `Brève description` Like '% tag %')) OR ((`État` Like 'closed') AND (`Brève description` Like '%capteur%' Or `Brève description` Like '%forçage%')) OR ((`État` Like 'closed') AND (`Brève description` Like '%écart%' Or `Brève description` Like '%coefficient%')) OR ((`État` Like 'closed') AND (`Brève description` Like 'formation%' Or `Brève description` Like '%instrument%' Or `Brève description` Like '%rapport%')) OR ((`État` Like 'closed') AND (`Brève description` Like '%opc%' Or `Brève description` Like '%NACHA%' Or `Brève description` Like '%NAEPI%' Or `Brève description` Like '%NALAV%' Or `Brève description` Like '%NACA%' Or `Brève description` Like 'NAC%' Or `Brève description` Like 'NASE%' Or `Brève description` Like '%NAGEF%' Or `Brève description` Like '%NAGEFL%' Or `Brève description` Like '% PB-GA%')) OR ((`État` Like 'closed') AND (`Brève description` Like '%export%' And `Brève description` Like '%pdf%')) GROUP BY `Affectation` ORDER BY Count(`Numéro`)";
$result=mysql_query($req)or die(mysql_error());
$Affectation[]=array();
$CompteDeNuméro[]=array();
$duree[]=array();
$i=0;
while($row=mysql_fetch_assoc($result)){
$Affectation[$i]=$row['Affectation'];
$CompteDeNuméro[$i]=$row['CompteDeNuméro'];
$duree[$i]=$row['Durrée Avant cloture'];
$i=$i+1;
}
?>
<!doctype html>
<html>
<head>
<title>Bar Chart</title>
<script src="../Chart.js"></script>
</head>
<body>
<div style="width: 50%">
<canvas id="canvas" height="450" width="600"></canvas>
</div>
<script>
var tab1 = <?php echo json_encode($Affectation); ?>;
var tab2 = <?php echo json_encode($CompteDeNuméro); ?>;
var tab3 = <?php echo json_encode($duree); ?>;
var randomScalingFactor = function(){ return Math.round(Math.random()*100)};
var barChartData = {
labels : [tab1[0],tab1[1],tab1[2],tab1[3],tab1[4],tab1[5],tab1[6],tab1[7],tab1[8]],
datasets : [
{
fillColor : "rgba(220,220,220,0.5)",
strokeColor : "rgba(220,220,220,0.8)",
highlightFill: "rgba(220,220,220,0.75)",
highlightStroke: "rgba(220,220,220,1)",
data : [tab3[0],tab3[1],tab3[2],tab3[3],tab3[4],tab3[5],tab3[6],tab3[7],tab3[8]]
}
]
}
window.onload = function(){
var ctx = document.getElementById("canvas").getContext("2d");
window.myBar = new Chart(ctx).Bar(barChartData, {
responsive : true
});
}
</script>
</body>
</html>
merci de m'aide -
Contributeur'lut, au passage:
L'extension MySQL est obsolète et dangereuse. -
oui c'est exactement ce que je veut
mais j'ai un probleme
le graphe s'affiche sur google chrome mais sur mozilla firefox non -
ContributeurHello, c'est ça que tu cherches ? tab1 et tab2 doivent avoir la même taille.
var doughnutData = []; for (var i = 0; i < tab1.length; i++) { doughnutData.push({ value: tab2[i], label: tab1[i] }); }