Affichage d'un graphique dynamique en PHP et avec Highchart

Eléphanteau du PHP | 16 Messages

13 juil. 2014, 19:09

Bonjour,

Dans le cadre d'un site de classements qui affiche des sites en fonction du nombre de votes , je voudrais générer un graphique pour chaque site qui permet de voir l'évolution des l'évolution des votes , le graphique est générer avec highchart en html 5 ...

Voici le code permettant l'intégration de mon graphique :

Sachant qu'il doit y avoir tous les jours du mois en cours


[javascript]<scriptsrc="chart/js/highcharts.js"></script><scriptsrc="chart/js/modules/exporting.js"></script><scripttype="text/javascript"> $(function(){ $('#container').highcharts({ chart:{ type:'line'}, title:{ text:''}, subtitle:{ text:''}, xAxis:{ categories:['1er jour du moins ...','Mardi','Mercredi','Jeudi','Vendredi','Samedi','Dimanche','...Dernier jour du mois']}, yAxis:{ title:{ text:'Évolution des votes et des clicks'}}, plotOptions:{ line:{ dataLabels:{ enabled:true}, enableMouseTracking:false}}, series:[{ name:'Votes', data:[400,10,6.9,9.5,14.5,18.4,21.5,58.2]},{ name:'Clicks', data:[119,40.2,5.7,8.5,11.9,15.2,17.0]}]});});</script>
[/javascript]

Ensuite précédemment dans mon code j'utilise une boucle pour récupérer les informations du site

while($ligne = mysql_fetch_array($resultat)){ $serv_id=$ligne['id']; $name=$ligne['name']; $text=$ligne['text']; $web=$ligne['web']; $point=$ligne['point']; $game=$ligne['game']; $video_id=$ligne['video']; $logo=$ligne['logo']; $click=$ligne['nb_clic']; $rewr=$ligne['rewr'];}
Dans ma base de données à chaque fois qu'une personne vote pour tel ou tel site je récupère les données dans ma bdd dans ma table --> vote sous cette forme

id(id du vote) -->113
guid( id du site pour lesquelle on vote)-->839
ip (ip de la personne qui vote)-->12.58.552.65
dateheure( heure du vote)-->2014-06-30 20:39:43


Le défie maintenant consiste à partir du graphique highchart html5 à afficher l'évolution du nb de vote pour chaque mois en cours en temps réel

Merci à tous , si vous avez besoin d'informations supplémentaires n'hésitez pas à m'en faire part
Modifié en dernier par zeus le 13 juil. 2014, 19:22, modifié 1 fois.
Raison : Remise en forme du code

Mammouth du PHP | 1339 Messages

13 juil. 2014, 19:46

Le plus simple est d'appeller ton fichier PHP en AJAX :
$.getJSON("tapapage.php?id_du_site=1", function(data) {
			options.xAxis.categories = data[0];
			options.series[0].data = data[1];
			$('#barchart').highcharts(options);
		});
Ton fichier PHP ressemblera à ca :
json_encode(array($tableau_avec_les_jours, $tableau_avec_les_valeurs));
Et avoir tes options dans un fichier externe en JS

[javascript]// JavaScript Document
$(function () {

options = {
chart: {
type: 'column',
width: 765
},
xAxis: {
labels: {
rotation: -45,
align: 'right',
style: {
fontSize: '10px',
fontFamily: 'Verdana, sans-serif'
}
}
},
yAxis: {
min: 0,
title: {
text: 'Le titre du chart'
}
},
legend: {
enabled: false
},
series: [{
name: 'Le titre',
dataLabels: {
enabled: false,
rotation: -90,
color: '#FFFFFF',
align: 'right',
x: 4,
y: 10,
style: {
fontSize: '10px',
fontFamily: 'Verdana, sans-serif'
}
}
}]
}
});[/javascript]

Alors je ne repond pas à ta question en te donnant du sur mesure, je te laisse t'amuser avec HighChart
Dans mon exemple en plus c'est des barcharts mais tu peux facilement mettre du type 'area' ...
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Eléphanteau du PHP | 16 Messages

13 juil. 2014, 19:52

Moyen que tu m'aides via skype stp ?

Parce franchement je suis perdue , je veux résoudre mon pb que avec du php

mon pseudo skype c'est jackzz.oo


Merci d'avance

Mammouth du PHP | 1339 Messages

13 juil. 2014, 19:58

A partir du moment ou tu utiles HighChart, il va falloir mettre les mains dans le JavaScript
Bon sinon tu me fais un message privé et on se fait un TeamViewer