Graphe en temps réel ave php et mysql

Signaler
Messages postés
7
Date d'inscription
dimanche 1 octobre 2006
Statut
Membre
Dernière intervention
11 janvier 2007
-
Messages postés
7
Date d'inscription
dimanche 1 octobre 2006
Statut
Membre
Dernière intervention
11 janvier 2007
-
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

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

PHP ne s'exécute pas tout seul.
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
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 +
Messages postés
388
Date d'inscription
lundi 7 juillet 2003
Statut
Webmaster
Dernière intervention
10 février 2009

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"
Messages postés
7
Date d'inscription
dimanche 1 octobre 2006
Statut
Membre
Dernière intervention
11 janvier 2007

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