Bonjour,

j'ai un petit pb, je dois construire une fonction qui doit me retourner un nouveau prix en fonction du type de quantité et remise à partir d'élément rentré dans une table mysql

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
$id = id du produit
$qty = quantité
$products_price = prix produit
 
public function getProductsNewPriceByDiscountQuantity($id, $qty, $products_price) {
      $OSCOM_Db = Registry::get('Db');
      $OSCOM_Customer = Registry::get('Customer');
 
// lecture de la table concernant la remise par quantité
      $QprodutsQuantityDiscount= $OSCOM_Db->prepare('select discount_quantity, 
                                                            discount_customer
                                                      from :table_products_discount_quantity
                                                      where products_id = :products_id
                                                      and customers_group_id = :customers_group_id
                                                      and discount_quantity <> 0
                                                    ');
      $QprodutsQuantityDiscount->bindInt(':products_id', (int)$id );
      $QprodutsQuantityDiscount->bindInt(':customers_group_id', $OSCOM_Customer->getCustomersGroupID());
 
      $QprodutsQuantityDiscount->execute();
 
// mise des infos dans une table
      while ($QprodutsQuantityDiscount->fetch()) {
        $discount_quantity[] = $QprodutsQuantityDiscount->valueInt('discount_quantity');
        $discount_customer[] = $QprodutsQuantityDiscount->valueDecimal('discount_customer');
      }
 
==> je suppose qu'il faut faire un foreach mais après je sèche.
 
 
      return $new_price;
    }
Comment écrire la boucle for each de telle manière à ce que cela soit dynamique pour obtenir en gros ça
if $qty < 5 then $discount = 0% ==> le prix ne change pas
if $qty > 5 et qty < 10 then $discount = 10% ==> le prix est réduit de 10%
if $qty > 10 then $discount = 15% ==> le prix est réduit de 15%

Merci