Graphe en temps réel ave php et mysql

cs_prg11 Messages postés 7 Date d'inscription dimanche 1 octobre 2006 Statut Membre Dernière intervention 11 janvier 2007 - 3 janv. 2007 à 20:23
cs_prg11 Messages postés 7 Date d'inscription dimanche 1 octobre 2006 Statut Membre Dernière intervention 11 janvier 2007 - 4 janv. 2007 à 18:34
Bonjoure  .

je veut realiser une application web qui permet a un utilsateur de visualiser l'etat de sant system a traver des graphes en temp réel
pour cela j'utilise le php et le serveur apache et mysqle
le problem c'est que j'arrive  pas a realiser un script php qui produit  un graphe qui fonctionne en temp reél c'est  a dire un graphe qui peut afficher des donnée chaque  les x  secondes.
aider moi a realliser ce scripte

wisenet@caramail.com

voici un script qui realise un graphe a partire des données de tableau
ce graphe est static
modifier le de tel sorte qu'il soit dynamique
Remarque:
Racine est un  repertoire qui contient les fonctions de la bibliotheque jpgraphe(a télecharger)

<?php
// Example on how to treat and format timestamp as human readable labels
require_once("Racine/jpgraph.php");
require_once("Racine/jpgraph_line.php");

// Number of "fake" data points
DEFINE('NDATAPOINTS',500);

// Assume data points are sample every 10th second
DEFINE('SAMPLERATE',10);

// Callback formatting function for the X-scale to convert timestamps
// to hour and minutes.
function TimeCallback($aVal) {
    return Date('H:i', $aVal);
}

// Get start time
$start = time();
// Set the start time to be on the closest minute just before the "start" timestamp
$adjstart = floor($start / 60);

// Create a data set in range (20,100) and X-positions
// We also apply a simple low pass filter on the data to make it less
// random and a little smoother
$data = array();
$xdata = array();
$data[0] = rand(20,60);
$xdata[0] = $adjstart;
for( $i=1; $i < NDATAPOINTS; ++$i ) {
    $data[$i] = rand(20,100)*0.2 + $data[$i-1]*0.8;
    $xdata[$i] = $adjstart + $i * SAMPLERATE;
}

// Assume that the data points represents data that is sampled every 10s
// when determing the end value on the scale. We also add some extra
// length to end on an even label tick.
$adjend = $adjstart  + (NDATAPOINTS+10)*10;

$graph = new Graph(950,500,'chart.png');
$graph->SetMargin(40,20,30,50);

// Now specify the X-scale explicit but let the Y-scale be auto-scaled
$graph->SetScale("intlin",0,0,$adjstart,$adjend);
$graph->title->Set("La Température Dans La Salle Des Cuves");

// Setup the callback and adjust the angle of the labels
$graph->xaxis->SetLabelFormatCallback('TimeCallback');
$graph->xaxis->SetLabelAngle(90);

// Set the labels every 5min (i.e. 300seconds) and minor ticks every minute
$graph->xaxis->scale->ticks->Set(300,60);

$line = new LinePlot($data,$xdata);
//$line->SetColor('lightblue');
$line->SetColor('red');
$graph->Add($line);

$graph->Stroke();
?>

bref je veu realiser un cript qui affiche un graphe comme celle du windows xp qui nous donne l'evolution du travaille du processeur (Ctrl + Alt+Suppr /Performance )
voila un lien utile pour apprendre le php
http://www.siteduzero.com/forum-83-22177-p1-les-autres-sites-php.html

merci de votre aide.
de la part de:
wisenet@caramail.com

4 réponses

FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
3 janv. 2007 à 20:56
T'es obligé d'utiliser de l'Ajax pour faire du temps réel.

PHP ne s'exécute pas tout seul.
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
4 janv. 2007 à 02:30
Salut,

Temps réel temps réel ... c'est vite dit ...

Ajax va te permettre de chopper des infos toutes les X secondes avec la fonction setInterval() par exemple, mais bon ... même si tu mets un temps très petit, faut pas oublier que PHP et apache doivent suivre la cadence derrière, donc tu seras forcé de mettre un temps suffisamment long.

a +
0
cs_garfield90 Messages postés 388 Date d'inscription lundi 7 juillet 2003 Statut Webmaster Dernière intervention 10 février 2009
4 janv. 2007 à 16:20
mrtg fais la meme chose sans Ajax, un petit meta refresh devrait répondre a ton attente.

Comme dis Anthomicro, ca ne sera pas du temps réel, mais un up toutes les 30s ou 1minute devrait largement etre suffisant.

My 2 cents

"They are 10 sorts of persons whose understand binary and whose not"
0
cs_prg11 Messages postés 7 Date d'inscription dimanche 1 octobre 2006 Statut Membre Dernière intervention 11 janvier 2007
4 janv. 2007 à 18:34
salut
bon pour le ajax j'ai pas vue encore mai je vais le tester .
voici les etpae a suivre :
1-extraire les donnée de ma base de donnée et les stocker dans un tableau.
2-appeler le scripte php qui genere un garphe static a partire du tableau realiser dans l'etape 1.
3-reprendre 2 mais sant ecraser le graphe precedents et ainnsi de suite jusqu'a ce que le graphe en temp réel se gener.
 bon merci a  toute remarque de cette idée .
et merci de me proposer les tiennent
 aussi comment rafraichire une image chaque les x secondes?
je developpe avec la GD2 et apache serveur et php4 et mysqle .
remarque:
ma bas de donnée est alimenter a une boite noire qui fourni les valuer mesure.
un petite exemples sera le bien venus
0
Rejoignez-nous