Autor | Zpráva | ||
---|---|---|---|
Tata Profil |
#1 · Zasláno: 2. 3. 2006, 23:36:53
Chcel by som na stránke generovať graf. Pracne by sa dal vytvoriť napr. takto:
***** <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>GRAPH</title> </head> <body> <? // Fill desired labels and corresponding values $label_01 = "Label 01"; $value_01 = "1500"; $label_02 = "Label 02"; $value_02 = "5000"; $label_03 = "Label 03"; $value_03 = "2500"; /* Set the width of DIV in which the bar will be shown. The bar is created from *.gif file by changing its "width" walue.*/ $graph_width = "500"; // Main box padding may be also set. $padding = "10"; $box_width = $graph_width + 2 * $padding; /* Think about the ratio of exact value and the width you set here and try to set the "$x" value to fit the max value bar into the DIV.*/ $x = "10"; /* The "xzy" valu may be set for units expression (e.g. currency, time, weight, time etc.)*/ $ext = "xzy"; /* Example for max value (let Label 02 represents the max value) $label_01 = "Label 02"; $value_01 = "5000" $width = "500"; $x = "500/5000"; - this will calculate the ratio for other values to achieve their visual propocionality */ $entry_01 = $value_01 / $x; $entry_02 = $value_02 / $x; $entry_03 = $value_03 / $x; ?> <style> .box{border:1px solid blue;padding:10px; width:<? echo $box_width ?>px} .bar{width:<? echo $graph_width ?>px;} .label{font-size:12px;font-weight:bold;} </style> <h1>GRAPH</h1> <div class="box"> <div class="bar"> <div><img src="01.gif" width="<? echo $entry_01 ?>" height="20" border="0"></div> <div class="label"><? echo $label_01 ?>: <? echo $entry_01 ?> <? echo $ext ?></div> </div> <div class="bar"> <div><img src="02.gif" width="<? echo $entry_02 ?>" height="20" border="0"></div> <div class="label"><? echo $label_02 ?>: <? echo $entry_02 ?> <? echo $ext ?></div> </div> <div class="bar"> <div><img src="03.gif" width="<? echo $entry_03 ?>" height="20" border="0"></div> <div class="label"><? echo $label_03 ?>: <? echo $entry_03 ?> <? echo $ext ?></div> </div> </div> </body> </html> ************* Ale určite by to niekto z Vás vedel zautomatizovat, aby to generovalo bloky jednotlivých položiek, alebo aby to načítavalo hodnoty z externého txt súboru napr. oddelené nejakým znakom. Tie gify sú iba malé farebné plôšky. Skúsi mi s tým niekto pomôcť? Vďaka. |
||
samurajj Profil |
#2 · Zasláno: 3. 3. 2006, 01:09:50
mno ten kod letmo nevypada tak spatne....
jestli chces nacitat ty hodnoty ze souboru... muzes zkusit dat misto $label_01 = "Label 01"; $value_01 = "1500"; $label_02 = "Label 02"; $value_02 = "5000"; $label_03 = "Label 03"; $value_03 = "2500"; napr tohle: $handle = fopen("data.txt", "r"); $zpracovat = fread($handle, 1000); fclose($handle); List ($label_01, $value_01, $label_02, $value_02,$label_03, $value_03) = Explode ("#", $zpracovat); a ty hodnoty ulozit v souboru data.txt oddelene znakem "#" |
||
Anonymní Profil * |
#3 · Zasláno: 3. 3. 2006, 07:27:38
samurajj
Vdaka, tak nejako som si to predstavoval, iba som nevedel, ako na to. Ešte som to nevyskúsal, ale logika mi hovoríi, že to naplní iba miesta vytvorené v <div class="box">. Takže ešte by to ešte chcelo funkciu na generovanie ************* <div class="box"> <div class="bar"> <div><img src="nn.gif" width="<? echo $entry_nn ?>" height="20" border="0"></div> <div class="label"><? echo $label_nn ?>: <? echo $entry_nn ?> <? echo $ext ?></div> </div> ************* podľa počtu položiek "label_nn" v "List". Ak si užívateľ pripraví rôzne farebné gify, mohla by v konfigurácii pribudnúť napr. premenná "$bar_num = ". V prípade vyššieho počtu položiek "label_nn" by však bolo potrebné zabezpečiť napr. opakované načítavanie *.gif-ov. Preháňam, čo? Možno o také 2-3 mesiace to budem vedieť nejako spatlať aj sám, ale dnes to ešte neviem, tak sa obraciam na tých, čo to vedia. Keby sa súbor data.txt pripravoval v exceli, dala by sa takáto tabuľka exportovať v požadovanom formáte? |
||
Anonymní Profil * |
#4 · Zasláno: 3. 3. 2006, 07:38:12
Kam príde premenná $ypracovat?
|
||
Tata Profil |
#5 · Zasláno: 3. 3. 2006, 07:40:56 · Upravil/a: Tata
[b]samurajj[b]
$zpracovat |
||
Tata Profil |
#6 · Zasláno: 3. 3. 2006, 07:44:58
samurajj
Kam príde premenná $zpracovat? |
||
samurajj Profil |
#7 · Zasláno: 3. 3. 2006, 09:54:52
kam prijde $zpracovat ? nechapu..
ta tam je jen pro nacteni obsahu souboru, pak ji muzes treba prepsat.. Keby sa súbor data.txt pripravoval v exceli, dala by sa takáto tabuľka exportovať v požadovanom formáte? To nevím.. ja jsem uvedl nejjednodužší způsob jak ty data uložit externě.. kdybys chtel automatizovat ten vypis: for ($i=1;$i<4;$i++) { ?> <div class="bar"> <div><img src="0<?php echo $i; ?>.gif" width="<? echo $entry_0$i ?>" height="20" border="0"></div> <div class="label"><? echo $label_0$i ?>: <? echo $entry_0$i ?> <? echo $ext ?></div> </div> <?php } nejsem si jistej jestli to pobere spravne to generovaní proměnné.. |
||
Tata Profil |
#8 · Zasláno: 3. 3. 2006, 10:52:48
samurajj
Niečo mi nehraje: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><title>GRAPH</title></head> <body> <? $handle = fopen("data.txt", "r"); $zpracovat = fread($handle, 1000); fclose($handle); List ($label_01, $value_01, $label_02, $value_02,$label_03, $value_03) = Explode ("#", $zpracovat); $graph_width = "500"; $padding = "10"; $margin = "5"; $box_width = $graph_width + 2 * $padding + 2 * $margin; $x = "10"; $ext = "xzy"; $entry_01 = $value_01 / $x; $entry_02 = $value_02 / $x; $entry_03 = $value_03 / $x; for ($i=1;$i<4;$i++) { ?> <div class="bar"> <div><img src="0<?php echo $i; ?>.gif" width="<? echo $entry_0$i ?>" height="20" border="0"></div> <div class="label"><? echo $label_0$i ?>: <? echo $entry_0$i ?> <? echo $ext ?></div> </div> <?php } </body> </html> Dá ta automatika nastaviť aj na neznámy počet položiek , alebo aby si to najprv zistilo potrebnú hodnotu $i? Tie *.gify môžu bzť číslované klasicky (nie 0n.gif), aby sa to zjednodušilo v definícii src="0<?php echo $i; ?>.gif". |
||
Tata Profil |
#9 · Zasláno: 4. 3. 2006, 14:15:26
Kamoši, hlavne tí, ktorí to viete, nepozreli by ste sa mi na ten scritp? samurajj mi síce dal nápad, ale ono to nefunguje. Vsera som si kúpil aj knihu a takmer celú noc som skúšal krok za krokom, ale riešenie som nenašiel.
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0