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 (IMG:http://forum.php.pl/style_emoticons/default/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ć (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif)

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


zadeklarować to można zmienną (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) jak coś to zaimplementowałeś (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował Hostis 30.07.2007, 12:20:24
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.
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:) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
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: 23.08.2025 - 06:53