Affichage d'un graphique dynamique en PHP et avec Highchart

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Affichage d'un graphique dynamique en PHP et avec Highchart

Re: Affichage d'un graphique dynamique en PHP et avec Highch

par Elie » 13 juil. 2014, 19:58

A partir du moment ou tu utiles HighChart, il va falloir mettre les mains dans le JavaScript

Re: Affichage d'un graphique dynamique en PHP et avec Highch

par VeenZ » 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

Re: Affichage d'un graphique dynamique en PHP et avec Highch

par Elie » 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' ...

Affichage d'un graphique dynamique en PHP et avec Highchart

par VeenZ » 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