Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> problem z funkcją
colinQ
post 29.09.2007, 14:24:07
Post #1





Grupa: Zarejestrowani
Postów: 340
Pomógł: 2
Dołączył: 25.12.2006

Ostrzeżenie: (0%)
-----


Mam taki mały problemik:

mam tablicę $osoba i funkcję zatrudnij.

  1. $osoba = array('dowodca' => 1650, 'kwatermistrz' => 1200, 's_oddzialu' => 1120, 's_saperow' => 1400, 's_uzbrojenia' => 980, 's_sanitarny' => 600, 'kreslarz' => 580, 'radiotelegrafista' => 1050, 'sekretarz' => 1130);
  2.  
  3.  
  4.  
  5. function zatrudnij($czas, $funkcja) {
  6.  
  7. $login = $_SESSION['login'];
  8. $b = "select * from sklad_sztabu where user='$login' AND osoba='$funkcja'";
  9. $wynik2 = mysql_query($b);
  10. $ile2 = mysql_num_rows($wynik2);
  11. $feth2 = mysql_fetch_assoc($wynik2);
  12. $time = time();
  13. $all2 = $time + $czas;
  14.  
  15. if($ile2>0) {
  16. if($feth2['time'] <= $time){
  17.  
  18. if(!empty($_SESSION['budowa'])){
  19. mysql_query("update users set budowa='' where log='$login'");
  20. $_SESSION['budowa'] = '';
  21. }
  22.  
  23. echo 'zwolnij/wyszkol';
  24. } else { 
  25. ?>
  26. <script language="javascript" type="text/javascript"> 
  27. <!-- 
  28. i = 0;
  29. function zegar2() {
  30. teraz = <? echo time(); ?> + i;
  31. dzien = <? echo $feth2['time']; ?>
  32. sekund = Math.abs((teraz-dzien)); 
  33. minut = Math.floor(sekund/60); 
  34. godzin = Math.floor(minut/60); 
  35. dni = Math.floor(godzin/24); 
  36. lat = Math.floor(dni/365); 
  37. sekund = Math.floor(sekund-minut*60); 
  38. minut = Math.floor(minut-godzin*60); 
  39. godzin = Math.floor(godzin-dni*24); 
  40. dni = Math.floor(dni-lat*365);
  41. if(dni > 0)
  42. {
  43. dni = dni * 24;
  44. godzin = godzin + dni;
  45. }
  46. godziny = Math.floor(godzin-1);
  47. roznica=+godzin+ 
  48. ":"+((minut<10)?"0":"")+minut+ 
  49. ":"+((sekund<10)?"0":"")+sekund; 
  50. document.getElementById("okienko").innerHTML = ""+roznica; 
  51. if (teraz<dzien) { 
  52. i = i + 1;
  53. setTimeout("zegar2()",1000); 
  54. }
  55. else
  56. {
  57. location.reload();
  58. }
  59. // --> 
  60. </script>
  61.  
  62. <?
  63. echo '<body onload=zegar2();><span id="okienko">-</span></body>';
  64. }
  65. } else {
  66.  
  67. if(isset($_GET["zatrudnij_$funkcja"]) && $ile2==&& $_SESSION['budowa'] == '') {
  68.  
  69. $kasa = $_SESSION['money'] - $osoba['$funkcja'];
  70.  
  71.  
  72. mysql_query("update users set money='$kasa' where log='$login'");
  73.  
  74. $_SESSION['money'] = $kasa;
  75.  
  76. $_SESSION['budowa'] = $funkcja;
  77.  
  78. mysql_query("update users set budowa='$funkcja' where log='$login'");
  79.  
  80. $razem2 = $time + $czas2;
  81.  
  82. $query2 = "insert into sklad_sztabu values('$funkcja', '$all2', '1', '$login')";
  83.  
  84. if(mysql_query($query2)) 
  85. echo "<body onload=location.reload();></body>";
  86.  
  87.  
  88. } else {
  89. if($_SESSION['budowa'] == '')
  90. echo "<a href=index.php?frame=sztab&zatrudnij_$funkcja>zatrudnij</a>";
  91. else
  92. echo "-";
  93. }
  94.  
  95. }
  96.  
  97. }


chodzi mi o ta linijkę:

$kasa = $_SESSION['money'] - $osoba['$funkcja'];

Dlaczego nie odejmuje się??

jeżeli zamiast $osoba['$funkcja'] podstawie 50 to działa :/

dlaczego tak jest??


--------------------
-> Kanał YouTube: http://www.youtube.com/user/screencup
-> Screencup - podcast/screencast, recenzja Makowych aplikacji
-> www.screencup.pl - witryna internetowa podcastu
Go to the top of the page
+Quote Post
nevt
post 29.09.2007, 14:41:53
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

Ostrzeżenie: (0%)
-----


nie widzisz wewnątrz funkcji zmiennej globalnej $osoba

dodaj wewnątrz funkcji deklarację:

global $osoba;

pozdrawiam.(sorry za public - pospieszyłem się...)

Ten post edytował nevt 29.09.2007, 14:45:05


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
colinQ
post 29.09.2007, 14:43:34
Post #3





Grupa: Zarejestrowani
Postów: 340
Pomógł: 2
Dołączył: 25.12.2006

Ostrzeżenie: (0%)
-----


Dalej nie odejmuje :/

coś innego musi być...

Ten post edytował colinQ 29.09.2007, 14:47:54


--------------------
-> Kanał YouTube: http://www.youtube.com/user/screencup
-> Screencup - podcast/screencast, recenzja Makowych aplikacji
-> www.screencup.pl - witryna internetowa podcastu
Go to the top of the page
+Quote Post
nevt
post 29.09.2007, 14:49:56
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

Ostrzeżenie: (0%)
-----


no to jeszcze wywal apostrofy:

... - $osoba[$funkcja]

i będzie ok smile.gif


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
colinQ
post 29.09.2007, 14:52:27
Post #5





Grupa: Zarejestrowani
Postów: 340
Pomógł: 2
Dołączył: 25.12.2006

Ostrzeżenie: (0%)
-----


I jest ok biggrin.gif

Dzięki


--------------------
-> Kanał YouTube: http://www.youtube.com/user/screencup
-> Screencup - podcast/screencast, recenzja Makowych aplikacji
-> www.screencup.pl - witryna internetowa podcastu
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 6.07.2025 - 06:45