[ Príspevkov: 11 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

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.


Offline

Skúsený užívateľ
Skúsený užívateľ
Kratky zapis pre IF/ELSE podmienku - NEFUNGUJE

Registrovaný: 24.01.08
Prihlásený: 10.12.16
Príspevky: 14462
Témy: 65 | 65
Bydlisko: Žilina
Vek: 29

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, ...
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.02.07
Prihlásený: 26.01.15
Príspevky: 257
Témy: 20 | 20
Napísal autor témyOffline : 03.04.2008 10:57 | Kratky zapis pre IF/ELSE podmienku - NEFUNGUJE

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] : '');


Offline

Správca fóra
Správca fóra
Kratky zapis pre IF/ELSE podmienku - NEFUNGUJE

Registrovaný: 27.07.07
Príspevky: 3968
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 31

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...


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.02.07
Prihlásený: 26.01.15
Príspevky: 257
Témy: 20 | 20
Napísal autor témyOffline : 03.04.2008 15:37 | Kratky zapis pre IF/ELSE podmienku - NEFUNGUJE

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 :?


Offline

Užívateľ
Užívateľ
Kratky zapis pre IF/ELSE podmienku - NEFUNGUJE

Registrovaný: 26.11.06
Prihlásený: 16.08.16
Príspevky: 4124
Témy: 317 | 317
Bydlisko: HE/BA

ved vsetky 3 pouziva v tele funkcie...


_________________
Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5Q PRO Turbo CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 4-4-4-12 2T GPU: PowerColor PCS+ HD6950 HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: LCD: DELL U2414M 24" 1920x1200
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.02.07
Prihlásený: 26.01.15
Príspevky: 257
Témy: 20 | 20
Napísal autor témyOffline : 03.04.2008 15:39 | Kratky zapis pre IF/ELSE podmienku - NEFUNGUJE

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] : '');


Offline

Správca fóra
Správca fóra
Kratky zapis pre IF/ELSE podmienku - NEFUNGUJE

Registrovaný: 27.07.07
Príspevky: 3968
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 31

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...


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.02.07
Prihlásený: 26.01.15
Príspevky: 257
Témy: 20 | 20
Napísal autor témyOffline : 04.04.2008 10:22 | Kratky zapis pre IF/ELSE podmienku - NEFUNGUJE

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 :).


Offline

Správca fóra
Správca fóra
Kratky zapis pre IF/ELSE podmienku - NEFUNGUJE

Registrovaný: 27.07.07
Príspevky: 3968
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 31

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 :)


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.02.07
Prihlásený: 26.01.15
Príspevky: 257
Témy: 20 | 20
Napísal autor témyOffline : 04.04.2008 11:25 | Kratky zapis pre IF/ELSE podmienku - NEFUNGUJE

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 :).


 [ Príspevkov: 11 ] 


Kratky zapis pre IF/ELSE podmienku - NEFUNGUJE



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

If else ...

v PHP, ASP

7

370

23.02.2010 20:05

neXor

V tomto fóre nie sú ďalšie neprečítané témy.

problem s else if

v PHP, ASP

6

227

19.04.2008 13:40

Broko71

V tomto fóre nie sú ďalšie neprečítané témy.

Else a If vo foreach()

v PHP, ASP

3

233

22.04.2011 19:12

Blackshadow

V tomto fóre nie sú ďalšie neprečítané témy.

if a else v C

v Assembler, C, C++, Pascal, Java

8

408

08.02.2009 16:51

Watik

V tomto fóre nie sú ďalšie neprečítané témy.

Vykoná sa mi aj else časť hoci sa už vykonala if - die mám

v PHP, ASP

11

287

20.10.2010 20:45

davider137

V tomto fóre nie sú ďalšie neprečítané témy.

ako zmenit podmienku "where" pre listbox cez radiobutton ?

v JavaScript, VBScript, Ajax

0

189

18.02.2011 0:18

10tomi

V tomto fóre nie sú ďalšie neprečítané témy.

zapis pre IE v externom css subore

v HTML, XHTML, XML, CSS

12

569

19.06.2009 14:39

zaciatocnik

V tomto fóre nie sú ďalšie neprečítané témy.

Aku mechaniku pre najkvalitnejsi zapis+test kvality v r.2010

v Úložné zariadenia

13

1361

21.03.2010 17:42

paulix

V tomto fóre nie sú ďalšie neprečítané témy.

Je potrebne ukoncit podmienku?

v PHP, ASP

3

190

22.08.2010 16:10

php30

V tomto fóre nie sú ďalšie neprečítané témy.

c++ - Aku mam zadat podmienku?

v Assembler, C, C++, Pascal, Java

1

526

09.05.2007 6:56

POM4R4NC

V tomto fóre nie sú ďalšie neprečítané témy.

Prokurátor navrhol údajným hackerom NBÚ ročnú podmienku

v Novinky

13

302

15.10.2010 22:17

Denco1

V tomto fóre nie sú ďalšie neprečítané témy.

Lenovo, Asus, else?

v Notebooky a netbooky

4

272

11.02.2010 19:03

tralfamadorčan

V tomto fóre nie sú ďalšie neprečítané témy.

nefunkcna podmienka else

v PHP, ASP

2

187

02.08.2010 21:32

coldak

V tomto fóre nie sú ďalšie neprečítané témy.

Veľmi krátky podpis

v Správy pre vedenie fóra

3

1098

02.04.2007 21:04

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

Krátky dotazník k hrám

v Krčma

4

243

30.05.2012 10:35

Sparco

V tomto fóre nie sú ďalšie neprečítané témy.

Krátky pohľad na Nokiu N81

v Novinky

15

466

09.08.2007 22:10

Mastros



Powered by phpBB 3.x.x © 2005 - 2016 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF