Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zapamiętanie stanu magazynowego
folt3k
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 18.02.2014

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


Właśnie jestem na etapie nauki klass w PHP i stworzyłem sobie taki mały projekt, w którym po wpisaniu danej wartość do pola 'ilosc', wartosc stanu magazynowego zostaje zmiejszona. Jednakże chciałbym pójść o krok dalej i stworzyć taki skrypt, który będzie zapamiętywał wcześniej odjęte wartości w polu 'ilosc'.

Wiem, że powinienem użyć sesji, ale nie bardzo wiem gdzie dokładnie to wstawić. Mógłby ktoś mi poradzić?

  1. <?php
  2.  
  3. echo '<form action="" method="get">
  4. Ilosc produktow do wydania: <input name="ilosc" type="text"><br />
  5. <input name="submit" type="submit" value="Wydaj produkty">
  6. </form>';
  7.  
  8. $ilosc = $_GET['ilosc'];
  9.  
  10.  
  11. class Products {
  12.  
  13. public $name;
  14. public $price;
  15. public $stock;
  16.  
  17. public function construct ($in_name, $in_price, $in_stock) {
  18.  
  19. $this->name = $in_name;
  20. $this->price = $in_price;
  21. $this->stock = $in_stock;
  22. }
  23.  
  24. public function getStock() {
  25. return $this->stock;
  26. }
  27.  
  28. public function reserveProducts($ilosc) {
  29. return $this->stock -= $ilosc;
  30. }
  31. public function getNameProduct() {
  32. return $this->name;
  33. }
  34.  
  35. }
  36.  
  37. $object = new Products;
  38. $object->construct("<b> Mleko</b>", 4, 200);
  39.  
  40. if (!empty($ilosc)) {
  41. echo "Wydales: ".$ilosc." sztuk produktu ".$object->getNameProduct()." <br />";
  42. }
  43. echo "Aktualny stan magazynowy produktu ".$object->getNameProduct()." wynosi: ".$object->reserveProducts($ilosc)." sztuk";
  44.  
  45.  
  46. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
timon27
post
Post #2





Grupa: Zarejestrowani
Postów: 578
Pomógł: 69
Dołączył: 15.04.2007
Skąd: Wrocław

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


Ucz sie od razu mysql.
To na prawdę nie jestr skomplikowane a znacznie ułatwi ci zadania takie jak to.
Po pierwsze: czy tylko użyszkodnik ma znać wartości stany magazynowego? jeśli nie to sesje nie będą użyteczne.
Po drugie: użyszkodnik przesiądzie się na inny komputer i nie ma swojej pracy - a jeśli zrobisz mu konto to będzie miał dostęp zewsząd.


Ten post edytował timon27 8.03.2014, 15:33:39
Go to the top of the page
+Quote Post
folt3k
post
Post #3





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 18.02.2014

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


Wiem że jak posłużę się bazą danych to wynik takiej operacji będzie trwały, ale jeszcze nie jestem na tym etapie. Zależy mi na tym aby wartość zmiennej 'stock' była zapamiętana w sesji po zmniejszeniu jej poprzez zmienną 'ilosc' (IMG:style_emoticons/default/smile.gif)

Chce się na razie po prostu zapoznać z działaniem sesji i spróbować ją zastosować we własnym przykładzie.
Go to the top of the page
+Quote Post
timon27
post
Post #4





Grupa: Zarejestrowani
Postów: 578
Pomógł: 69
Dołączył: 15.04.2007
Skąd: Wrocław

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


"jeszcze nie jestem na tym etapie."

Patrząc na kod który już zrobiłeś, gwarantuję ci że w 0,5h nauczysz się podstaw do m.in. zapisania/zaktualizowania wyniku w bazie.

Zauktualizowanie wyniku to 1 (!) linijka.

  1. mysql_query("UPDATE stany SET ilosc=$s WHERE indeks=$indeks");


Oczywiście wcześniej połączenie z bazą - cała 1 linijka....

  1. mysql_connect('localhost', 'uzytkownik', 'haslo')


Ten post edytował timon27 8.03.2014, 16:03:44
Go to the top of the page
+Quote Post

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: 24.08.2025 - 00:34