Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks
Bibliothèques et frameworks Forum d'entraide sur les frameworks, templates, bibliothèques de code (PDFLib, eZPdf, JpGraph, Artichow, PEAR, etc). Avant de poster : FAQ bibliothèques, toutes les FAQ PHP et cours bibliothèques
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/01/2007, 13h18   #1
Invité de passage
 
Inscription : décembre 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 10
Points : 4
Points : 4
Par défaut Graphes en temp réel

Bon,
j'ai un problem qui me derrange pas mal de temps, c'est comment realiser un programme php qui produit un graphe en temp reél .
j'ai une base de donnée Mysql qui contient les valeurs de la temperatures de mon labo,cette base est alimenter d'une maniére continue dans le temps grasse a RS 232(boite noir qui mesure la temperature dans mon labo et qui inser les valeurs mesurer dans mon pc).

l'ideé de la solution c'est d'extraire les donnée de ma base de donnée et de les presenter sous forme de graphe qui deffile dans le temps.
alors aider moi a realiser cette tache avec des petites exemples.
ou bien des conseille.
j'utilise la GD et jpgraphe comme bibliotheque graphique .
merci de tout forme d'aide.
prg12 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 14h04   #2
Membre Expert
 
Avatar de Djakisback
 
Inscription : février 2005
Messages : 1 797
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 797
Points : 1 688
Points : 1 688
Salut,
je ne sais pas si tes graphes sont compliqués mais GD bouffe un max de ressource donc perso je récupérerais uniquement les valeurs dans la BDD avec Ajax puis je ferais le graphe en JS, j'imagine qu'il existe des lib de graph pour Javascript.

Si tu veux tester quand même avec GD tu peux utiliser la méthode JS reload(), ex :

Code :
window.setTimeout("window.location.reload()",2000);
Bye
Djakisback est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2007, 13h22   #3
Invité de passage
 
Inscription : décembre 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 10
Points : 4
Points : 4
Par défaut php et graphe en temps réel evolution

voici les resultat obtenu jusqu'a maintennat
mon problem est comment genere un graphe par point .
c'est a dire faire un scripte qui accept 2 point en entrer et fair les liens entre ces point. et ainssi de suite.
je veut que mon graphe deffile doner moi une idée??


//le script php qui crere le graphe
//Racine contient la bibliotheque jpgraphe
//Genere_Graphe.php
//remarque:
telecharger la bibliotheuq jpgraphe 1.20.5 et copier la dans le mem repertoire des 2 scriptes ces dessous et vous aller voire le resultats

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?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);
$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();
?>

// contenu du fichier voire_graphe
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
<!doctype html public "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
<meta http-equiv="refresh" content="0">
  <title>Untitled web-page</title>
</head>
<body>
<?php
$i=0;
while($i<10)
{
  echo  '<img src="Genere_Graphe.php" >';
$i++;
}
?>
</body>
</html>
prg12 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h23.


 
 
 
 
Partenaires

Hébergement Web