Stránka: 1 z 1
| [ Príspevkov: 11 ] | |
Autor | Správa |
---|
Registrovaný: 09.02.07 Prihlásený: 26.01.15 Príspevky: 257 Témy: 20 | 20 |
Prosim pomozte mi s nasledujucim, Stanley tu niekedy prednedavnom uviedol funckiu, ktore moze pomoct pri hodnote pola vo formulari. Stenley tam pouzil kratky zapis IF/ELSE, ja som si to troska pomenil, ale som strateny, tak mi pomozte, tu je kod:
Kód: function get_value($var, $sqlQueryName, $sqlVar) { global ${$var}, $sqlData, ${$sqlQueryName}; return (isset($_POST['firstName'])) ? "Form" : ($sqlData == false) ? ${$sqlQueryName}[$sqlVar] : ''; /* if (isset($_POST['firstName'])) return "Form"; else if ($sqlData) return ${$sqlQueryName}[$sqlVar]; else return ''; */ }
Ono problem je v tom, ze pri dlhsom zapise IF/ELSE co je okomentovane vyssie, vsetko bezi ako ma, pri kratkom zapise mi nikdy nevrati retazec "Form" i v pripade, ze $sqlData=true a forma bola odoslana!
Neviem si rady. Vzdy mi vracia ${$sqlQueryName}[$sqlVar].
Poradte, lebo uz som v koncoch.
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 | 66 Bydlisko: Žilina |
to, ze stenley to tak pouziva, neznamena to, ze je to snad globalne najlepsie riesenie. v prvom rade treba, aby sa v tom vyznal samotny programator, nemyslis ? mas specialny dovod, preco musis pouzit len jeho sposob a zakomentovanu cast, ktora ti funguje, proste odstrcis na bok ?
_________________ C#, PHP, ... |
|
Registrovaný: 09.02.07 Prihlásený: 26.01.15 Príspevky: 257 Témy: 20 | 20 |
Mna vobec nezaujima co Stenley pouziva, proste ma to zaujalo, lebo sa mi to zdalo celkom rozumne a jednoduchy zapis.
Ok, ide o to, ze pri jednoduchej podmienke sa oplati pouzivat tieto ako som sa docital Ternarne operatory. Je to si myslim prehladnejsie, cim vsak narasta zlozitost podmienok, uz je v tom chaoss aspon pre mna a oplati sa pouzivat klasicky sposob IF/ELSE.
Ano, mas pravdu, hlavne by sa v tom mal vyznat programator.
Inak uz som to poriesil, chybali tam zatvorky. Napr.
Kód: return (isset($_POST['firstName'])) ? "Form" : ((!$sqlData) ? ${$sqlQueryName}[$sqlVar] : '');
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
len pre uplnost, samotne (jednoduche) podmienky, podla ktorych sa vyrazy vyhodnocuju, nemusia byt (v pripade podmienenych operatorov) v zatvorke, je to potom prehladnejsie a jednoduchsie.
Co sa tyka tvojej upravenej funkcie: na co tam mas ten prvy argument, ked ho v tele funkcie vobec nepouzivas? - dalsi faktor, ktory to cele zneprehladnuje...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 09.02.07 Prihlásený: 26.01.15 Príspevky: 257 Témy: 20 | 20 |
Nie nie Stenley, sorry, samozrejme ho pouzivam, len som si nevsimol, ze davam kod, ktorym som to testoval na firstName, samozrejme, ze ta prva premenna bude v $_POST[] - e a teda nebude zbytocna.
Lenze aj tak mi to moc nejde do hlavy preco sa mi, ked som nemal zatvorky vykonala vzdy else cast v mojom prvom prispevku
|
|
Registrovaný: 26.11.06 Prihlásený: 09.10.24 Príspevky: 4118 Témy: 319 | 319 Bydlisko: HE/BA |
ved vsetky 3 pouziva v tele funkcie...
|
|
Registrovaný: 09.02.07 Prihlásený: 26.01.15 Príspevky: 257 Témy: 20 | 20 |
mondzo píše: Nie nie Stenley, sorry, samozrejme ho pouzivam, len som si nevsimol, ze davam kod, ktorym som to testoval na firstName, samozrejme, ze ta prva premenna bude v $_POST[] - e a teda nebude zbytocna. Lenze aj tak mi to moc nejde do hlavy preco sa mi, ked som nemal zatvorky vykonala vzdy else cast v mojom prvom prispevku
Neda sa mi upravovat moj vlastny prispevok, neviem, co sa deje. Tak ten return bude vyzerat:
Kód: return (isset($_POST[$var])) ? $_POST[$var] : (($sqlData) ? ${$sqlQueryName}[$sqlVar] : '');
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
odpoved na tvoju "otazku", preco sa vykonala vzdy "else vetva" je jednoducha:
nevykonala sa "else vetva", ako sa domnievas, ale "if vetva" <= phpcko tvoj zapis vyhodnotilo ako (odstranil som niektore nadbytocne zatvorky):
Kód: return (isset($_POST['firstName']) ? "Form" : $sqlData == false) ? ${$sqlQueryName}[$sqlVar] : '';
A ak pouzivas len zapis typu $_POST[$var], tak nemas dovod nastavit ${$var} ako globalnu premennu - tento zapis mal v povodnej funkcii opodstatnenie, ale u teba to nie je potrebne...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 09.02.07 Prihlásený: 26.01.15 Príspevky: 257 Témy: 20 | 20 |
Dik Stenley, teraz som sa na to pozrel, mas pravdu s tou globalnou premennou a s tou IF/ELSE podmienkou.
Ok, dnes doplnim este validaciu a class formBuilder bude na svete .
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
potom by si sem mohol hodit cast toho tvojho formBuilderu (ak to nie je tajomstvo), ze ako si riesil napr. select/option pripadne validaciu, lebo teraz tiez na niecom podobnom robim, tak nech sa inspirujem
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 09.02.07 Prihlásený: 26.01.15 Príspevky: 257 Témy: 20 | 20 |
Ano, mozem hodit, uvidim, ci to uz dnes dokoncim. Moj formBuilder je jednoduchy, vacsinou na tvorbu foriem, kde data su tahane uz z databazy a klient si ich moze potom upravit a ulozit, ale s mensimi obmenami sa moze vyuzit aj na tvorbu formularov od zaciatku, kde data este pristupne nie su.
urcite to niekde zavesim, ked to bude dokoncene, ze sa na to budete moct pozriet a pripadne mozeme podiskutovat, vylepsit a spolocnymi silami mozno sa dopracovat k celkom slusnej triede .
|
|
Stránka: 1 z 1
| [ Príspevkov: 11 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v PHP, ASP | 7 | 583 | 23.02.2010 20:05 neXor | | v PHP, ASP | 6 | 422 | 19.04.2008 13:40 Broko71 | | v PHP, ASP | 3 | 468 | 22.04.2011 19:12 Blackshadow | | v Assembler, C, C++, Pascal, Java | 8 | 676 | 08.02.2009 16:51 Watik | | v PHP, ASP | 11 | 620 | 20.10.2010 20:45 davider137 | | v JavaScript, VBScript, Ajax | 0 | 455 | 18.02.2011 0:18 10tomi | | v HTML, XHTML, XML, CSS | 12 | 994 | 19.06.2009 14:39 zaciatocnik | | v Úložné zariadenia | 13 | 1645 | 21.03.2010 17:42 paulix | | v PHP, ASP | 3 | 382 | 22.08.2010 16:10 php30 | | v Assembler, C, C++, Pascal, Java | 1 | 758 | 09.05.2007 6:56 POM4R4NC | | v Novinky | 13 | 606 | 15.10.2010 22:17 Denco1 | | v PHP, ASP | 2 | 502 | 02.08.2010 21:32 coldak | | v Notebooky a netbooky | 4 | 598 | 11.02.2010 19:03 tralfamadorčan | | v Správy pre vedenie fóra | 3 | 2029 | 02.04.2007 21:04 JanoF | | v Krčma | 4 | 574 | 30.05.2012 10:35 Sparco | | v Novinky | 15 | 775 | 09.08.2007 22:10 Mastros |
|