Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Prośba poprawy kodu
Forum PHP.pl > Forum > PHP
Enikc
Cześć, wiecie co jest nie tak z tym kodem?

Tabela product ma price
Tabela product_special ma price

Tabela Rabaty nie ma price jest obliczane, produkty wyśiwetla ale gdy dodaje do koszyka coś jest nie tak bo jak dodam produkt z rabetm jest ok,
jak dodam produkt specjalny jest ok
ale jak dodam produkt specjalny a pozniej z rabtem to ceny nie wylicza, próbwałem różnych kombinacji i poległem, prosiłbym o pomoc


  1. // Product Specials
  2. $product_special_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_special WHERE product_id = '" . (int)$product_id . "' AND customer_group_id = '" . (int)$customer_group_id . "' AND ((date_start = '0000-00-00' OR date_start < NOW()) AND (date_end = '0000-00-00' OR date_end > NOW())) ORDER BY priority ASC, price ASC LIMIT 1");
  3.  
  4. if ($product_special_query->num_rows) {
  5. $special = $product_special_query->row['price'];
  6. $price = $special;
  7. }
  8.  
  9. // Rabat
  10. $product_rabat_query = $this->db->query("SELECT `discount` as rabat, `type` FROM " . DB_PREFIX . "rabat r LEFT JOIN " . DB_PREFIX . "rabat_product rp ON (r.rabat_id = rp.rabat_id) LEFT JOIN " . DB_PREFIX . "rabat_category rca ON (r.rabat_id = rca.rabat_id) LEFT JOIN " . DB_PREFIX . "rabat_manufacturer rm ON (r.rabat_id = rm.rabat_id) LEFT JOIN " . DB_PREFIX . "rabat_customer rc ON (r.rabat_id = rc.rabat_id) LEFT JOIN " . DB_PREFIX . "rabat_customer_group rcg ON (r.rabat_id = rcg.rabat_id) WHERE (rp.product_id = '" . (int)$product_id . "' OR rca.category_id IN (SELECT `category_id` FROM " . DB_PREFIX . "product_to_category WHERE `product_id` = '" . (int)$product_id . "' ) OR rm.manufacturer_id IN (SELECT `manufacturer_id` FROM " . DB_PREFIX . "product_to_manufacturer WHERE `product_id` = '" . (int)$product_id . "')) AND (rc.customer_id = '" . (int)$customer_id . "' OR rcg.customer_group_id = '" . (int)$customer_gr_id . "') AND r.status = '1' AND r.date_start <= CURDATE() AND r.date_end >= CURDATE()");
  11.  
  12. if (!isset($special)) {
  13. foreach ($product_rabat_query->rows as $prq) {
  14. if ($prq['type']=='P') {
  15. $price -= ( ( $price * $prq['rabat'] ) / 100);
  16. } else {
  17. $price -= $prq['rabat'];
  18. }
  19. }
  20. }
CuteOne
  1. if (!isset($special)) {
  2. (...)
  3. } else {
  4. //tu odejmij rabat od ceny
  5. }
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.