Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] zadeklarowanie wartosci zmiennych.
Forum PHP.pl > Forum > Przedszkole
jessica99
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??
Hostis
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
jessica99
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:(
nospor
a ten plik config.inc.php to includujesz tez w index.php? A jesli includujesz to musisz to robic przed uzyciem tamtego kodu.
jessica99
już udało mi się rozwiązać problem, dzięki za pomoc:) smile.gif smile.gif smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.