Autor | Zpráva | ||
---|---|---|---|
Petr Havel Profil |
#1 · Zasláno: 13. 9. 2010, 16:20:18
Potřeboval bych pomocí funkcí php ovlivnit proměnné, které jsou mimo funkce.
Abych nemusel dělat toto: $promenna = funkce(param_1, param_2); ale moch sem přímo ve funkci nějakým způsobem změnit proměnnou $promenna , která je mimo funkci Nevíte jak na to? Dík |
||
nightfish Profil |
#2 · Zasláno: 13. 9. 2010, 16:24:48
Jde to, říká se tomu globální proměnná, a ve většině případů to není dobrý nápad.
|
||
Joker Profil |
#3 · Zasláno: 13. 9. 2010, 16:25:25
Petr Havel:
Předejte parametr odkazem (referencí): funkce(&$promenna); |
||
Petr Havel Profil |
#4 · Zasláno: 13. 9. 2010, 17:04:10
právě že podle knížky by se globální proměnná měla pouze dostat do funkce, ale ven ne - ani mi to tak nefungovalo. A parametr odkazem jsem zkoušel taky, a taky nefungoval - ale možná je chyba u mě.
Tak radši uvedu veškerý kód - pomocí funkce potřebuji aktualizovat údaje v databázi a pokud se něco nepovede, má se $pocet_chyb zvýšit o 1. no a potom je další funkce, která se spustí, pokud je $pocet_chyb > 0 $pocet_chyb = 0; function update_doprava($doprava, $cena, $jmeno, &$pocet_chyb){ if($doprava == "1"){$doprava = 1;}else{$doprava = 0;} if($cena == ""){$cena = 0;} $update = mysql_query("UPDATE nastaveni_eshopu SET hodnota='$doprava', cislo=$cena WHERE jmeno='$jmeno'"); if(!$update OR mysql_affected_rows()!=1){$pocet_chyb =+ 1;} } // funkce pro aktualizaci údajů o dopravě a ceně update_doprava($_POST[doprava_osob_odber], $_POST[cena_osob_odber], doprava_osob_odber, $pocet_chyb); update_doprava($_POST[doprava_osob_ucet], $_POST[cena_osob_ucet], doprava_osob_ucet, $pocet_chyb); if($pocet_chyb < 0){ $hlaska = hlaska("Nepovedlo se aktualizovat $pocet_chyb řádků nastavení!", 2); }else{ $hlaska = hlaska("Změna v nastavení byla provedena", 1); } vše mi funguje, jen né ta proměnná $pocet_chyb |
||
Alphard Profil |
#5 · Zasláno: 13. 9. 2010, 17:09:00 · Upravil/a: Alphard
Petr Havel:
„$pocet_chyb =+ 1;“ Má být += 1. Ale můžete to zkrátit na $pocet_chyb++ ;
„if($pocet_chyb < 0){“ Máte to obráceně. |
||
Petr Havel Profil |
#6 · Zasláno: 13. 9. 2010, 17:17:06
tak to byl takovej menší zkrat :-) dík, už to běží
|
||
Časová prodleva: 14 let
|
0