Autor | Zpráva | ||
---|---|---|---|
Pavel Prochazka.zde.cz Profil * |
#1 · Zasláno: 13. 5. 2007, 12:25:22
Zdravim,
nejak se potikam s vypoctem delky sloupe pro anketu..... znam tyto vstupni parametry.... Delka tabulky kde se bude sloupec vypisovat, ten jsem zredukoval na 75% Takze maximalni sloupec bude mejt delku maximalne 75% tabulky. Ceklovy pocet hlasu... To aby sel odvodit pozadovany sloupec a ke kazdemu radku pocet hlasu.... Tak, redukce sloupce: $nKoeficient = $sirka/75; vypocet jednoho procenta: $k_OnePercent = 100 / $n_PocetOdpovedi; vypocet delky sloupce: round($k_OnePercent * $ns_pole[$a]['pocet_odpovedi'], 1); ale zatim nedokazu vymislet jak tento vypocet jeste zohledni delku tabulky dne se bude sloupec tisknou.... pomuze nekdo? Jen me napada ze se to musi resit pomoci prime umery, asi.... |
||
YoSarin Profil |
#2 · Zasláno: 13. 5. 2007, 13:34:32
No, jestli to dobře chápu, tak když se šířka udává v procentech, tak ta se berou z nadřazeného prvku (? IMHO) čiliže šířka (délka) sloupce bude:
$delka = (($pocetHlasu / $maxPocetHlasu) * 75)."%"; Kde $pocetHlasu je počet hlasů u aktuální odpovědi a $maxPocetHlasu je počet hlasů u nejčastěji volené odpovědi. |
||
DJ Miky Profil |
#3 · Zasláno: 13. 5. 2007, 13:42:14
Osobně bych to ještě zaokrouhlil na celá čísla:
$sirka=ceil(($pocetHlasu / $celkemHlasu) * 75).'%'; |
||
Pavel Prochazka.zde.cz Profil * |
#4 · Zasláno: 13. 5. 2007, 17:56:16
YoSarin vsechno je v jedne funkci.... Z databaze si vyberu pozadovane parametry.
Promenna: $n_PocetOdpovedi je soucet vsech hlasu v jedne ankete, to beru jako 100%. Tak jak to mam me funguje ok ale nemam tam zohlednenou sirku tabulky a obcas se stava ze tabulka je sirsi nez je potreba... Konkretne: mam sirku nastavenou na 130 bodu, tuto hodnotu lze kdykoliv zmenit pri editaci ankety. 75% delky tabulky jsem dal proto ze mam graficky sloupec a na nim jeste nasleduje ciselne vyjadreni.... A stava se ze tabulka prekroci tech 130bodu, protoze graficky ukazatel je delsi..... Nevim jak to pomerove vsechno zkratit, tak aby v kodu nebyli zadne konstanty a aby pri navrhu ankety (v administracni casti), mohl zvolit pozadovanou sirku ankety. Proto nechci vsechno nejak spocitat a delit to nejakema konstantama....Ale chci ty konstanty pocitat v kodu ale nenapada me jak..... Ja mam puvodne zaokrouhlovani na jedno desitine cislo, je to lepsi nez na cela. Vypadato prirozeneji....Ale to je vec nazoru... |
||
YoSarin Profil |
#5 · Zasláno: 13. 5. 2007, 18:01:21
A ty chceš aby těch 75% šířky tabulky odpovídalo 100%?
|
||
Pavel Prochazka.zde.cz Profil * |
#6 · Zasláno: 13. 5. 2007, 18:04:42
YoSarinnenenene,
mam tabulku 130 bodu, to je 100%. A chci ten graficky sloupecek zredukovat na 75% sirky tabulky, tedy na 96 bodu. Ale poroz, tem nuj vypocet je nejak divny, jak uz jsem psal, nekdy se stava ze je delsi nez 130 bodu a tabulku neprijemne zvetsi... |
||
YoSarin Profil |
#7 · Zasláno: 13. 5. 2007, 18:07:36
Takže jinými slovy - proužek může zabírat max 75% tabulky, přičemž 75% tabulky bude odpovídat 100% hlasů, nebo počtu nejčastějších odpovědí?
Já vycházím z toho, že platí to druhé a v tom případě by mělo fungovat to co jsem psal prve (plus ještě obohacené o to zaokrouhlování) |
||
Pavel Prochazka.zde.cz Profil * |
#8 · Zasláno: 13. 5. 2007, 18:11:58
takze asi takto:
$nKoeficient = 100/$sirka; //jedno procento sirky tabulky.... $k_OnePercent = 100 / $n_PocetOdpovedi; //velikost jednoho procenta ale neni zohlednena vuci tabulky Tak tedka me jde jak to udelat abych nejakym pomerem zajistil konstantu: $k_OnePercent vuci jednoho procenta sire tabulky, tim zajistim se i kdyz bude hlasu milion :), tak me nikdy neprekroci predem danou celkovou sirku tabulky..... |
||
Pavel Prochazka.zde.cz Profil * |
#9 · Zasláno: 13. 5. 2007, 18:15:09
YoSarin nevim nevim, nikde tam nevidim zohledneni celkove tabulky...jen je tam cislo 75, ale to neni vypovidajici o celove sire tabulky....Jeste je tam potreba zakomponovat promennou $sirka coz je celkova sire tabulky(v mem konkretnim pripade je to 130 bodu).
|
||
YoSarin Profil |
#10 · Zasláno: 13. 5. 2007, 18:18:08
Pavel Prochazka.zde.cz
NO, já si nejsem jist, ale když v CSS nastavíš width: XY%;, tak to bere XY% ze šířky nadřazeného prvku, ne? |
||
DJ Miky Profil |
#11 · Zasláno: 13. 5. 2007, 18:21:58
Když to tedy chceš maximálně 96 pixelů, tak to stačí nastavit v pixelech a ne v procentech...
$sirka=ceil(($pocetHlasu / $celkemHlasu) * 96).'px'; |
||
Pavel Prochazka.zde.cz Profil * |
#12 · Zasláno: 13. 5. 2007, 18:23:30
YoSarin mam to udelane takto:
echo '<TABLE class=table_anketa width="' . $sirka . '" cellSpacing=0 cellPadding=0 border=0>'." "; a fakato perfektne... nebo si to pouze mislim, pac podtou anketou mam jednu tabulku ktera ma presne 130 bodu a diky tomu jsem na to prisel ze moje anketa se rozjizdi.... |
||
DJ Miky Profil |
#13 · Zasláno: 13. 5. 2007, 18:27:37
Nesmíš asi přiřazovat šířku jednoho sloupce šířce tabulky.
|
||
Pavel Prochazka.zde.cz Profil * |
#14 · Zasláno: 13. 5. 2007, 18:51:11
vsem moooc diky, uz to faka....
udelal jsem to takto: $nDelka_Sloupce=ceil(($ns_pole[$a]['pocet_odpovedi'] / $n_PocetOdpovedi) * (($sirka/100)*60)).'px'; nakonec jsem musel sirku sloupce zredukovat na 60 cehosi, pac podle vysledku na obrazovce to neni ani nahodou 60%, nevim co to je ale funguje to. Jeste me zajima zda ma PHP nejakou fce kde zadam jako vstup text a dostanu delku textu v bodech nebo nejakych jednotkach co si zvolim..... To abych zabespecil aby se ta hodnota 60 jeste nejak redukovala podle nejdelsiho textu co se bude vedle sloupce nacazet.... |
||
YoSarin Profil |
#15 · Zasláno: 13. 5. 2007, 18:52:46
Pavel Prochazka.zde.cz
Těžko, páč velikost textu závisí na klientovi, ne na serveru. :) |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0