Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] zadeklarowanie wartosci zmiennych.
jessica99
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 14.12.2006
Skąd: Warszawa/Mrozy

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


zadeklarowalam w jednym z plikow nastepujacy kod
  1. <?php
  2. public function GetProducts($cartProductsType, $cartId)
  3. {
  4. // jeżeli pobieramy produktu dodane "na teraz"...
  5. if ($cartProductsType == GET_CART_PRODUCTS)
  6. {
  7.  $query_string =
  8. "SELECT product.product_id, product.name,
  9. product.price, shopping_cart.quantity,
  10. product.price * shopping_cart.quantity AS subtotal
  11.  FROM shopping_cart INNER JOIN product
  12.  ON shopping_cart.product_id = product.product_id
  13.  WHERE shopping_cart.cart_id = '$cartId'
  14.  AND when_to_buy='now'";
  15. }
  16. // jeżeli pobieramy produkty zachowane "na póĽniej"...
  17. elseif ($cartProductsType == GET_CART_SAVED_PRODUCTS)
  18. {
  19.  $query_string =
  20. "SELECT product.product_id, product.name, product.price
  21.  FROM shopping_cart INNER JOIN product
  22.  ON shopping_cart.product_id = product.product_id
  23.  WHERE shopping_cart.cart_id = '$cartId'
  24.  AND when_to_buy='later'";
  25. }
  26. else
  27. trigger_error("wartość $cartProductsType nieznana", E_USER_ERROR);
  28. return $this->dbManager->DbGetAll($query_string);
  29. }
  30. ?>


jest on wczytywany w index.php
jest to czesc klasy prywatnej
chce go wykorzystac do wyswietlania produktow
GET_CART_PRODUCTS do produktow aktualnie wlozonych do koszyka a GET_CART_SAVED_PRODUCTS do produktow odlozonzch na pozniej do tzw. przechowalni

robie to za pomoca nastepujacego skryptu
  1. <?php
  2.  // nazwy funkcji zapisane w plikach modułów dodatków muszą mieć składnię: smarty_t
    yp_nazwa
  3. function smarty_function_load_cart_summary($params, $smarty)
  4. {
  5. $cart_summary = new CartSummary();
  6. // zdefiniowanie zmiennej assign szablonu
  7. $smarty->assign($params['assign'], $cart_summary);
  8. }
  9. // klasa zarządzająca zliczaniem wartości koszyka
  10. class CartSummary
  11. {
  12. public $mTotalAmount;
  13. public $mItems;
  14. function __construct()
  15. {
  16. // powołanie obiektu warstwy pośredniej
  17. $shopping_cart = new BoShoppingCart();
  18. // obliczanie sumarycznej wartości produktów znajdujących się w koszyku
  19. $this->mTotalAmount = $shopping_cart->GetTotalAmount();
  20. // pobierz produkty znajdujące się w koszyku
  21. $this->mItems =
  22.  $shopping_cart->GetCartProducts(GET_CART_PRODUCTS);
  23. if (empty($this->mItems))
  24. $this->mEmptyCart = true;
  25. else
  26. $this->mEmptyCart = false;
  27. }
  28. }
  29. ?>


generuje to blad
uzycie niezadeklarowanej stalej
jak zadeklarowac te stale tak zeby byly tylko te dwie mozliwosci??

Jak bobrze zadeklarować te stałe żeby GetCartProducts mogło mieć wartość GET_CART_PRODUCTS lub GET_SAVED_CART_PRODUCTS??

Ten post edytował jessica99 29.07.2007, 20:45:02
Go to the top of the page
+Quote Post
Hostis
post
Post #2





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 6.07.2007
Skąd: /home/skawina

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


http://pl.php.net/define

Wyskakuje Ci błąd bo nie zadeklarowałeś tych swoich stałych GET_CART_PRODUCTS i GET_CART_SAVED_PRODUCTS. I php nie wie tak naprawdę Co to jest to GET_CART_PRODUCTS bo nigdzie w pliku nie może znaleźć definicji smile.gif stała nie jest napisem to jest też zmienna która musi sieć jakąś wartość tylko różnica taka że nie da się jej zmienić exclamation.gif

P.S.
Cytat(jessica99 @ 30.07.2007, 13:09:18 ) *
zadeklarowalam w jednym z plikow nastepujacy kod


zadeklarować to można zmienną smile.gif jak coś to zaimplementowałeś smile.gif

Ten post edytował Hostis 30.07.2007, 12:20:24


--------------------
Miałem ciężkie dzieciństwo, alfabet poznawałem z elementarza, a nie z klawiatury.

Warsztat: Gentoo GNU\Linux, Apache 2.0.58, PHP 5.2.2, MySQL 5.0.44, PostgreSQL 8.0.13, IDE: Eclipse + PDT + Aptana
Go to the top of the page
+Quote Post
jessica99
post
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 14.12.2006
Skąd: Warszawa/Mrozy

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


mam zadeklarowane nastepujace stale w pliku config.inc.php:
  1. <?php
  2. define("GET_CART_PRODUCTS",1);
  3. define("GET_CART_SAVED_PRODUCTS",2);
  4. // operacje przeprowadzane na koszykach
  5. define("ADD_PRODUCT",1);
  6. define("REMOVE_PRODUCT",2);
  7. define("UPDATE_PRODUCTS_QUANTITIES",3);
  8. define("SAVE_PRODUCT_FOR_LATER",4);
  9. define("MOVE_PRODUCT_TO_CART",5);
  10. ?>

pomimo to wyswietla mi bledy:(
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




a ten plik config.inc.php to includujesz tez w index.php? A jesli includujesz to musisz to robic przed uzyciem tamtego kodu.


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
jessica99
post
Post #5





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 14.12.2006
Skąd: Warszawa/Mrozy

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


już udało mi się rozwiązać problem, dzięki za pomoc:) smile.gif smile.gif smile.gif
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 Aktualny czas: 19.08.2025 - 11:04