Autor | Zpráva | ||
---|---|---|---|
luma64 Profil |
#1 · Zasláno: 24. 10. 2018, 12:19:43
Zdravím ! Poraďte pls, mám v tabulke pole cenabezdph_num , typ je DECIMAL(13,2). V poli sa môže vyskytovať napr. hodnota 12345.99 . Potrebujem však aby mi selekt vypisoval obsah poľa tak, že mi ho vypíše s oddeľovačom tisícok, čo bude medzera. To znamená v tomto prípade 12 345.99. Vďaka za pomoc !
|
||
blaaablaaa Profil |
#2 · Zasláno: 24. 10. 2018, 12:33:00
luma64:
V db mě napadá leda použít FORMAT s locale + pak REPLACE za mezeru. Ale tohle bych řešil spíš na výstupu třeba v PHP přes number_format. |
||
luma64 Profil |
#3 · Zasláno: 24. 10. 2018, 13:11:54
blaaablaaa:
veď práve...mám datagrid, ktorý sa vytvára selektom. Jedno z polí je cenabezdph_num. Neviem sa k hodnote v tomto poli dostať na úrovni záznamu, aby som ho mohol cez php spracovať a vypísať. |
||
blaaablaaa Profil |
#4 · Zasláno: 24. 10. 2018, 13:59:27
luma64:
Pak třeba takto: REPLACE(FORMAT(12345.67, 2, 'en_GB'), ",", " ")
|
||
luma64 Profil |
#5 · Zasláno: 24. 10. 2018, 15:03:56
Ked spustim selekt na databáze, vykoná sa v poriadku, tisícky su oddelené . Keď je umiestnený ako prikaz v php, nevykona sa :
SELECT cisloobj, popisobj, dodavmeno, REPLACE(FORMAT(cenabezdph_num , 2, 'en_GB'), ",", " ") as cena2 , datvyhotov FROM objednavky. Parse error: syntax error, unexpected '") as cena2, datvyhotov FROM o' (T_CONSTANT_ENCAPSED_STRING) in E:\XAMPP\htdocs\phpgridlite\examples\integrated_search.php on line 13 |
||
blaaablaaa Profil |
#6 · Zasláno: 24. 10. 2018, 15:07:07
luma64: Tohle jsou základy PHP, apostrofy musíš escapovat \'
|
||
luma64 Profil |
Super - mám to ! Neuvedomil som si, že treba vymeniť úvodzovky za apostrof. Teda :
SELECT cisloobj,popisobj,dodavmeno, REPLACE(FORMAT(cenabezdph_num , 2, 'en_GB'), ',', ' ') as cena2, datvyhotov FROM objednavky Ďakujem ! Ups, ešte sa mi vyskytol problém s tým, že spomenutý format mi vytvorí, rozdelí hodnotu. Táto ale stratí vlastnosť, že je číslo. Teda pred cenou 1 000.00 nie je 999.99 ale niečo, čo začína jednotkou a má stovkový rád. |
||
Keeehi Profil |
#8 · Zasláno: 24. 10. 2018, 19:59:32
luma64:
Problémy máš proto, že k tomu celému přistupuješ ze špatné strany. Formátování by měla zajistit vrstva, co to prezentuje. Proto se ti blaaablaaa nejdříve snažil poradit ať to formátuješ v PHP protože když nic jiného nenapíšeš, tak se tak nějak implicitně předpokládá, že to PHP přímo vypisuje do stránky. Pak jsme se dozvěděli, že používáš datagrid. V tom případě je tou prezentační vrstvou onen datagrid. Takže si v dokumentaci k tomu datagridu najdi, jak se nastavuje formátování sloupců. Jelikož jsi nenapsal o jaký datagrid jde, tak ti konkrétněji poradit nemůžeme. |
||
luma64 Profil |
#9 · Zasláno: 25. 10. 2018, 07:49:25
Použil som datagrid to stránky phpgrid.com , konkrétne po stiahnutí je to examles\integrated_search.php
|
||
Tomášeek Profil |
#10 · Zasláno: 25. 10. 2018, 08:35:00
luma64:
Proc si nepřečtes dokumentaci k tomu? Odpověď, jak formátovat, jsem tam našel během dvou minut. Nebuď lempl a podívej se do ni. Kopírovat kód z ni ti sem nebudu, za chvíli bys chtěl z lenosti najít něco dalšího. |
||
luma64 Profil |
#11 · Zasláno: 25. 10. 2018, 09:40:37
No čo sa týka dokumentácie, tú som si pozeral už predtým, podľa nej som si nastavil zarovnania v stĺpcoch, skrytie stĺpcov, premenovanie atď. Neviem ale, ako som popísal vyššie, zabezpečiť vypisovanie vo fomáte ako potrebujem ( 123 456.99).
V prípade, že hodnota v stĺpci v tbl je 123456.99, vypíše sa 123 456.99 , tj. správne V prípade, že hodnota v stĺpci v tbl je 123456.9, vypíše sa 123 456.9, tj. iba s jednou číslicou v desatinách V prípade, že hodnota v stĺpci je 123456.00 vypíše sa iba 123 456, tj. bez núl Formárovanie a vypisovanie robím takto: $dg -> set_col_format("cenabezdph_num ", 'number', array("thousandsSeparator" => " ", "decimalSeparator" => ".", "decimalPlaces" => '2', "defaultValue" => '0.00')); Ak je ale problém s odpoveďou, aj tak ďakujem ! |
||
_es Profil |
#12 · Zasláno: 25. 10. 2018, 10:49:50
|
||
Keeehi Profil |
phpgrid.com/documentation/set_col_format
V části Example třetí řádek. |
||
luma64 Profil |
S formatovani a vypisovanim pomocou
$dg -> set_col_currency("price", "EUR", "", ",", 2, "0.00"); Jediny "normálny" zápis je $dg -> set_col_currency("cenabezdph_num", "", "", " "); Keeehi: Použije teda povodne ... $dg -> set_col_format("weight", 'number', array("thousandsSeparator" => ",", "decimalSeparator" => ".", "decimalPlaces" => '2', "defaultValue" => '0.00')); Hodnota v stĺpci je 20126133.00. 1, Upravím si oddeľovač tisícok na medzeru, vtedy mi nezobrazia desatinny ( jedna alebo obidve číslice), napr. 20 126 133. $dg -> set_col_format("cenabezdph_num", 'number', array("thousandsSeparator" => " ", "decimalSeparator" => ".", "decimalPlaces" => '2', "defaultValue" => '0.00')); 2.Keď nahradím definíciu number typom decimal $dg -> set_col_format("cenabezdph_num", 'decimal', array("thousandsSeparator" => " ", "decimalSeparator" => ".", "decimalPlaces" => '2', "defaultValue" => '0.00')); |
||
Tomášeek Profil |
#15 · Zasláno: 25. 10. 2018, 12:33:56
luma64:
Člověče, ty na programování asi nebudeš. Našel bych si jiného koníčka... V examplu máš 6 parametrů, přičemž jeden z nich ovlivňuje desetinná místa. Ty použiješ 4 s divíš se, že to funguje jinak. |
||
luma64 Profil |
#16 · Zasláno: 25. 10. 2018, 12:40:23
Tomášeek:
Že tých parametrov je nie 6 ale 4 to viem. Skús si prečítať aj to, čo som napísal pre Keehi (pred Tebou). |
||
Joker Profil |
#17 · Zasláno: 25. 10. 2018, 13:36:30
Tomášeek:
Ona ani ta dokumentace není kdovíjaká, jak koukám. Ukázkový příklad v dokumentaci má sice šest parametrů, ale v seznamu parametrů tamtéž jich je sedm, přičemž v příkladu zjevně chybí pátý z nich. Takže ukázkový příklad nesedí s textem dokumentace. Navíc luma64 sice ty poslední (asi tři, možná dva) parametry vynechal, nicméně to co chce jsou podle dokumentace jejich výchozí hodnoty, takže by to nemělo vadit. luma64: Vzhledem k výše uvedenému bych asi nespoléhal úplně na výchozí hodnoty v dokumentaci a zkusil tam dát všechny natvrdo. |
||
Kcko Profil |
Joker:
> luma64: > Vzhledem k výše uvedenému bych asi nespoléhal úplně na výchozí hodnoty v dokumentaci a zkusil tam dát všechny natvrdo. A já bych se podíval přímo do API s jakými argumenty se tam pracuje :-) a kdyby to nešlo na první dobrou tak bych si to přímo v dané metodě oddebugoval. Navíc ten grid je dost hroznej. Zkusil bych spíš něco jako ublaboo.org/datagrid |
||
Časová prodleva: 4 dny
|
|||
luma64 Profil |
#19 · Zasláno: 29. 10. 2018, 11:49:02
No pozrel som si ho. Doporučujem však
www.phpgrid.org .
|
||
Časová prodleva: 5 let
|
0