Autor | Zpráva | ||
---|---|---|---|
php Profil * |
#1 · Zasláno: 18. 6. 2010, 12:25:58
Zdravím,
když dám do funkce poměnnou $mesiv_vznik, tak ji to absolutně ignoruje. Když tam vložím natvrdo číslo např. 6, tak to funguje, ale ne když ho vkladám přes tu proměnnou. Nechápu čím to je. Děkuji $mesic_final=cesky_mesic($mesic_vznik); |
||
Alphard Profil |
#2 · Zasláno: 18. 6. 2010, 12:31:39
Předejte ji jako parametr, nebo definujte jako globální (to je ale nehezké). Pro více informací hledejte "viditelnost proměnných".
|
||
php Profil * |
#3 · Zasláno: 18. 6. 2010, 12:42:55
Vyzkoušel jsem to jak přes parametr, tak tu globální, ale asi to zapisuju špatně. Můžete mi napsat konkrétní příklad. Děkuji
|
||
Alphard Profil |
#4 · Zasláno: 18. 6. 2010, 12:43:59
php:
Ukažte, jak to děláte. Opravíme to. |
||
php Profil * |
$mesic_final=cesky_mesic($GLOBALS["mesic_vznik"]); Moderátor Alphard: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
|
||
Nox Profil |
#6 · Zasláno: 18. 6. 2010, 12:52:30
Nevím jestli úplně dobře chápu dotaz, mohl bys sem dát větší části skriptu?
(definici funkce a to kde vzniká $mesic_vznik) |
||
php Profil * |
#7 · Zasláno: 18. 6. 2010, 12:56:48
$fpd=$zaznam["uvazek"] * $pracovni_dny; $rok_vznik=substr($zaznam["vznik"], 2, 2); $mesic_vznik=substr($zaznam["vznik"], 5, 2); $den_vznik=substr($zaznam["vznik"], 8, 2); $mesic_vznik=cesky_mesic($GLOBALS["mesic_vznik"]); $datum_vznik=$mesic_vznik."".$rok_vznik; if($datum_vznik==$mesic_vyber){ $fpd=$fpd-$den_vznik+1; } |
||
nightfish Profil |
#8 · Zasláno: 18. 6. 2010, 12:58:14
php:
a ta funkce cesky_mesic? btw řádek 5 stačí jen $mesic_vznik = cesky_mesic($mesic_vznik); |
||
Nox Profil |
#9 · Zasláno: 18. 6. 2010, 12:59:42
php:
použití globals nebo tak, aspoň v tomhle případě na tomto místě nemá smysl, to můžeš nechat původně ještě si sem nedal definici funkce každopádně jestli při zadání "6" je to ok a při $mesic_vznik ne, tak bude problém v obsahu proměnné (nemá ho už předtím), asi použij var_dump($mesic_vznik) před voláním funkce a na začátku funkce... pokud bude oboje ok, pak bude asi chyba v použití té proměnné |
||
Alphard Profil |
#10 · Zasláno: 18. 6. 2010, 13:10:33
php:
Jestli ten váš kód nemá 500 řádků, tak stiskněte Ctrl + A, pak Ctrl + C a tady na diskusi Ctrl + V. Já smažu, co není potřeba, bude to rychlejší :-) |
||
php Profil * |
#11 · Zasláno: 18. 6. 2010, 13:10:41
pořád to nejde, proměnná je dobře nastavená, zkoušel jsem si ji vypsat a hodnotu 6 to vyhodí
|
||
php Profil * |
#12 · Zasláno: 18. 6. 2010, 13:14:19
kód je bohužel dlouhý, ale zkusil jsem nastavit natvrdo, že $mesic_vznik="6"; a jede to zajímavé
|
||
nightfish Profil |
#13 · Zasláno: 18. 6. 2010, 13:16:39
php:
„kód je bohužel dlouhý“ tak ještě jednou, snad už naposledy pošli sem kód funkce cesky_mesic |
||
php Profil * |
#14 · Zasláno: 18. 6. 2010, 13:19:22
function cesky_mesic($mesic) { static $nazvy = array(1 => 'leden', 'únor', 'březen', 'duben', 'kveten', 'cerven', 'cervenec', 'srpen', 'září', 'říjen', 'listopad', 'prosinec'); return $nazvy[$mesic]; } |
||
Alphard Profil |
#15 · Zasláno: 18. 6. 2010, 13:25:26 · Upravil/a: Alphard
php:
Pro static nevidím důvod, ale jinak je to správně. Chyba tedy musí být v $mesic_vznik=substr($zaznam["vznik"], 5, 2); echo $mesic_vznik; a zkontrolujte to.
|
||
Radek9 Profil |
#16 · Zasláno: 18. 6. 2010, 14:54:33 · Upravil/a: Radek9
php:
Zkus tohle: function cesky_mesic($mesic) { static $nazvy = array(1 => 'leden', 'únor', 'březen', 'duben', 'kveten', 'cerven', 'cervenec', 'srpen', 'září', 'říjen', 'listopad', 'prosinec'); return $nazvy[(int)$mesic]; } |
||
Taps Profil |
#17 · Zasláno: 18. 6. 2010, 17:47:08
php:
ještě mě napadlo že by problém mohl být dvoumístný zápis čísel v $mesic_vznik=substr($zaznam["vznik"], 5, 2); |
||
Radek9 Profil |
#18 · Zasláno: 18. 6. 2010, 20:12:57
Taps:
To napadlo i mě, řeší to mnou zaslaná úprava. ;-) |
||
Časová prodleva: 14 let
|
0