Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Klasa - jak przekazac zmienna, z jednej funkcji w klasie do drugiej?
alanoe
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 2.02.2007

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


W funkcji reserve() dodaje do zmiennej tablicowej reservationId
wartosci potrzebne mi takze w funkcji delete().

Wydawalo mi sie ze nadajac zmiennej wartosc w jednej funkcji
bede mogla ja odczytac rowniez w innej funkcji tej samej klasy.
Tak jednak nie jest (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) i w innej funkcji odczytuje ja jako tablice pusta...

Z tego wzgledu mam pytanie jak przekazac reservationId z jednej do drugiej funkcji w klasie?



  1. <?php
  2. // funkcja reserve
  3.  
  4. (...)
  5.  
  6. $this->messages[] = $this->msg;
  7.  
  8. $this->reservationId[] = $id;
  9. }
  10. return $this->messages;
  11. }
  12. public function delete()
  13. {
  14. $items = count($this->reservationId);
  15.  
  16. (...)
  17. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
alanoe
post
Post #2





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 2.02.2007

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


Dziekuje za pomoc.
Jednak ja nadal nie wiem co stalo sie z moim kodem

Klasa wyglada mniej wiecej tak:

  1. <?php
  2. class Reservation
  3. {
  4. public $msg;
  5. public $messages;
  6. public $reservationId;
  7.  
  8.  
  9. public function __construct()
  10. {
  11. $this->msg = NULL;
  12. $this->messages = array();
  13. $this->reservationId = array();
  14. }
  15.  
  16.  
  17. public function reserve()
  18. {
  19.  
  20. $items = count($this->ObjSelect);
  21. $i = 0;
  22.  
  23. while ($i < $items)
  24. {
  25.  
  26. if ($k)
  27. {
  28. ...
  29. }
  30.  
  31. $this->messages[] = $this->msg;
  32. $this->reservationId[] = $id; // zwraca tablice wszystkich id
  33. $i++;
  34. }
  35. return $this->messages;
  36. }
  37.  
  38. public function delete()
  39. {
  40. $items = count($this->reservationId);
  41. print_r($items); // wyswietla 0 :(
  42.  
  43. $i = 0;
  44. while ($i < $items)
  45. {
  46. mysql_query ("DELETE FROM `reservation` WHERE `Reservation_id` = '".$this->reservationId[$i]."' ");
  47. $i++;
  48. }
  49.  
  50. }
  51.  
  52.  
  53.  
  54.  
  55.  
  56. }
  57.  
  58.  
  59.  
  60.  
  61. ?>




A wywolanie funkcji tak:
  1. <?php
  2. if(isset($_POST['delete']))
  3. {
  4. $oReservation->delete();
  5. }
  6. ?>



Jednak mam 3 formularze wysylane po kolei do jednej klasy.
Czy to moze byc przyczyna ze zeruja mi sie wartosci zmiennych?
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 12.10.2025 - 19:17