Graphe php mysql

Fermé
achraf1996 Messages postés 29 Date d'inscription mardi 14 juillet 2015 Statut Membre Dernière intervention 22 novembre 2016 - Modifié par achraf1996 le 25/07/2015 à 00:53
miramaze Messages postés 1429 Date d'inscription mercredi 29 juillet 2009 Statut Contributeur Dernière intervention 1 mai 2022 - 25 juil. 2015 à 21:53
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

<?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
A voir également:

4 réponses

miramaze Messages postés 1429 Date d'inscription mercredi 29 juillet 2009 Statut Contributeur Dernière intervention 1 mai 2022 92
Modifié par miramaze le 25/07/2015 à 10:09
Hello, 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]
  });
}
1
achraf1996 Messages postés 29 Date d'inscription mardi 14 juillet 2015 Statut Membre Dernière intervention 22 novembre 2016
25 juil. 2015 à 12:29
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
0
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
25 juil. 2015 à 13:16
'lut, au passage:
L'extension MySQL est obsolète et dangereuse.
0
achraf1996 Messages postés 29 Date d'inscription mardi 14 juillet 2015 Statut Membre Dernière intervention 22 novembre 2016
Modifié par achraf1996 le 25/07/2015 à 13:28
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
0
miramaze Messages postés 1429 Date d'inscription mercredi 29 juillet 2009 Statut Contributeur Dernière intervention 1 mai 2022 92
25 juil. 2015 à 15:08
Qu'est ce qu'on obtient dans tab1, tab2, tab3 ?
0
achraf1996 Messages postés 29 Date d'inscription mardi 14 juillet 2015 Statut Membre Dernière intervention 22 novembre 2016
25 juil. 2015 à 16:01
ils contient les de donne que j'extrait de la base de donne c'est exactement la mémé question que vous venez de répandre en haut
j'vais utiliser seulement tab 1 et 3
0
miramaze Messages postés 1429 Date d'inscription mercredi 29 juillet 2009 Statut Contributeur Dernière intervention 1 mai 2022 92
25 juil. 2015 à 16:11
Oui mais il y'a quoi dedans, tu peux nous montrer les données ?
0
achraf1996 Messages postés 29 Date d'inscription mardi 14 juillet 2015 Statut Membre Dernière intervention 22 novembre 2016
25 juil. 2015 à 16:58
tab 1 contient des chaine de caractaire
tab 3 contient des float
0
miramaze Messages postés 1429 Date d'inscription mercredi 29 juillet 2009 Statut Contributeur Dernière intervention 1 mai 2022 92
25 juil. 2015 à 17:14
Ce que je voulais c'est les données dedans mais je crois que j'ai pas compris la question. Tu n'arrives pas à refaire une boucle avec ce script là ou tu ne peux pas faire fonctionner une boucle avec ce script là ?
0