Graf z MySQL dat

Honza Petrous hop na unibase.cz
Čtvrtek Červen 13 06:55:46 CEST 2002


On St, 2002-06-12 at 21:02, Marian Rychtecky wrote:
> Dobry den!
>     Napadla me jedna aplikace a jako vylepseni bych chtel vygenerovat graf
> na pozadani z dat, ktere vyselektuju z MySQL databaze.
> Jde o to, ze po zadani OD kdy DO kdy (datumove) se prectou z MySQL hodnoty a
> z nich se vygeneruje graf.
> Data se do databaze ukladaji kazdou hodinu, takze rozliseni bude 1 hodina,
> ale pocatek a konec grafu muze byt 1 den nebo take tyden, dle zadani.
> Nemate nekdo neco podobneho???
> 
> Predstavoval bych si neco na bazi MRTG, jenze nevim jak na to.
> 

Uvedomte si, ze MRTG negeneruje grafy "na pozadani", ale stale (coz
je taky jeho nejvetsi slabinou).

V Roxen Webserveru se to dela nasledovne (prepis ukazky
z dokumentace s doplnenim nactenim dat z databaze, viz.
http://docs.roxen.com/roxen/2.2/creator/graphics/diagram.tag
a http://docs.roxen.com/roxen/2.2/creator/output/emit_sql.tag):

<diagram type='line' width='200' height='250'
 name='Exchange Rates' horgrid=''
 tonedbox='lightblue,lightblue,white,white'>

   <data form='row' separator=','
    xnamesvert='' xnames=''>
   
      <emit source='sql' host='mojedb'
       query='select val1,val2,val3 from ...'>
	  &_.val1;, &_val2;, &_.val3;
      </emit>

   </data>

   <yaxis start='0.09' stop='0.25'/>

   <legend separator=','>
     Danish kroner (DKr),
     Markkaa (FMk),
     Norwegian kronor (NKr),
     Swedish kronor (SKr)
   </legend>

   <xaxis quantity='year'/>

   <yaxis quantity='US$'/>

</diagram>


Toto se bude pochopitelne vykonavat pouze na dotaz.
A jestlize vite, ze data tam nebudou pribyvat casteji,
nez 1 za hodinu pak se to cele zabali do <cache > </cache>
kontejneru s parametrem 1 hodina a pak se bude ten graf generovat
max. 1x za hodinu.

/Honza

PS: Upozornuji, ze se jedna o interni skriptovaci jazyk serveru
a podpobnym postupem to muzete vyresit i pres PHP.



Další informace o konferenci Linux