Autor | Zpráva | ||
---|---|---|---|
Spid3r Profil * |
#1 · Zasláno: 4. 9. 2007, 17:42:26
Dobrý den, mám dotaz, jak vytvořit php, které by umělo generovat grafy (denní a měsíční) z externího souboru a každých dejme tomu 20 minut? Php neumím, tak prosím o nějaké vysvětlení, co vůbec použít... Ps. ten externí soubor naleznete tady: http://onlinepanely.xf.cz/Pesos_0_20070529.txt . Všem děkuji Chroust
|
||
Ondřej Machala Profil * |
#2 · Zasláno: 4. 9. 2007, 17:47:12
Bohužel to kvůli špatnému formátování externího souboru nebude možné protože sloupece nejsou fotmátovány tak, aby bylo možno pomocí php funkcí si jednotlivé části ořezat a uložit do proměnných nebo do pole.
Řešením by byl například tento formát: 29.05.2007;15:33:34;25256;050915 25256;09.75 h;09.25 h;006.453 kWh;320.0 V;243 V;02.80 A;682 W;+40.40 °C;0;WRV05.095; 00.00.0000;00:00:00;00000;000000 00000;00.00 h;00:00 h;000.000 kWh;000.0 V;000 V;00.00 A;000 W;+00.00 C;0,WRV00.000; |
||
sventek Profil * |
#3 · Zasláno: 4. 9. 2007, 17:51:24
Já myslím, že ta data jsou naprosto v pořádku, stačí to prohnat funkcí fgetcsv (http://cz.php.net/manual/cs/function.fgetcsv.php) a rozparsovat na sloupce. Nebo ještě lépe rovnou házet do pole, které se odešle třídě na tvorbu grafů
|
||
Ondřej Machala Profil * |
#4 · Zasláno: 4. 9. 2007, 17:58:12
Takto to 100% fungovat nebude.. rozparsovat jednotlivé řádky problém není ale touto funkcí si se sloupci neporadíš ;-)
Jedinou realnou možností řádky z array() vytáhnout a dále jednotlivé hodnoty ukládat do proměnných nebo dalšího pole pomocí funkce substr(); |
||
Spid3r Profil * |
#5 · Zasláno: 4. 9. 2007, 18:00:44
Aha, i tak vám moc děkuji.
|
||
bukaj Profil |
#6 · Zasláno: 4. 9. 2007, 18:01:52 · Upravil/a: bukaj
Spid3r
Zkusils třeba použít Google? IMHO nejsi první, kdo chce generovat grafy v PHP. Jde to za použití fcí pro parsování textu a fcí GD knihovny. Přes file() rozdělíš soubor po řádcích do pole. Potom s explode() (nebo split() či preg_split()) rozdělíš v cyklu každý řádek na pole, ze kterého vytáhneš hodnoty, které jsou potřeba. A pak nastupují na řadu fce GD knihovny: imagecreatetruecolor - vytvoření prázdného obrázku. imageline - kreslení čáry. imagefillrectangle - kreslení vyplněného obdélníku. ...atd. atp. apod. **edit: Ještě jsem zapomněl na to automatické generování po 20-ti minutách. Odpověd zní: CRON. |
||
Ondřej Machala Profil * |
#7 · Zasláno: 4. 9. 2007, 18:08:23
bukaj:
Jenže řádek na pole se mu kvůli nejednotnému formátování nepodaří rozdělit! viz odkaz na soubor s daty! |
||
bukaj Profil |
#8 · Zasláno: 4. 9. 2007, 18:23:09
Ondřej Machala
Mě se to podařilo. To, že to ty neumíš ještě neznamená, že to nejde :) PS. Nevykřičníkuj tady!!! :) |
||
sventek Profil * |
#9 · Zasláno: 4. 9. 2007, 18:27:09
Ondřej Machala: asi jsem slepý nebo natvrdlý, ale proč by nešlo si při tom parsováním přes tu funkci házet do různých polí podle toho ve kterém je to sloupci - neprošel jsem to teda celé, ale zběžně to vypadá, že jsou pořád stejně rozdělené? Popř. při třídění do polí odřezávat jednotku, aby tam nehaprovala
|
||
sventek Profil * |
#10 · Zasláno: 4. 9. 2007, 18:30:36
bukaj:
Studovat GD knihovnu taky myslím, není potřeba, když píše, že s php neumí, bude lepší použít nějakou knihovnu - třeba [url=http://www.aditus.nu/jpgraph/]JPGraph/url] |
||
Časová prodleva: 17 let
|
0