This Question have 3 answers right now.

calculation inside a loop does'nt make result

Tags: php
By : kurama

I don't understand exactly why but when I write this function, the loop for doesn' work.

Do you have an idea ?

thank you

$qty is make by a customer

$id : id of the product

$products_price price of the product

public function getProductsNewPriceByDiscountQuantity($id, $qty, $products_price) {
  $OSCOM_Db = Registry::get('Db');
  $OSCOM_Customer = Registry::get('Customer');
$QprodutsQuantityDiscount= $OSCOM_Db->prepare('select discount_quantity, 
                                                      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', $id );
      $QprodutsQuantityDiscount->bindInt(':customers_group_id', $OSCOM_Customer->getCustomersGroupID());


  while ($QprodutsQuantityDiscount->fetch()) {
    $discount_quantity[] = $QprodutsQuantityDiscount->valueInt('discount_quantity');
    $discount_customer[] = $QprodutsQuantityDiscount->valueDecimal('discount_customer');

  $nb_discount = count($discount_quantity); //  
  $n = $nb_discount -1; // 0,1,2 for the table indice

// Loop the most important to less important

      for ($n; $n < 0; $n--) {
//        print_r('qty : ' .$qty . '<br />');
//        print_r('discount : ' .$discount_quantity[$n] . '<br />');

        if($qty >= $discount_quantity[$n]){
          $new_price = $products_price - ($products_price * ($discount_customer[$n] / 100));
By : kurama


There the solution i found to resolve the problem

  $nb_discount = count($discount_quantity); // dans ton exemple 3 discounts
  $i = $nb_discount -1; // 0,1,2 pour les indices des tableaux de ton exemple

  for ($i; $i > 0; $i--) {
    if($qty > $discount_quantity[$i]) {
      $new_discount_price  = ($products_price - ($products_price * ($discount_customer[$i] / 100))) * $qty;

  return $new_discount_price;
By : kurama

It sounds like you're looking for a write-once-run-anywhere solution.You can look at:

  • web-based solutions (e.g. progressive web apps)
  • hybrid solutions (e.g. Ionic)
  • near-native solutions (e.g. React Native, NativeScript)
  • cross-compiling solutions (eg. Intel XDK)

...and probably a few other categories.

If none of those suit your needs, you will have to:

  • embed the logic in Firebase security rules and/or
  • write an intermediary or auxiliary server (see this article on application architectures) and/or
  • duplicate logic into apps written in the native technology of iOS and Android

If you don't need to pass any variable after creating the Fragment instance, pass the parameter in the constructor like this.

PersonDetailFragment fragment = new PersonDetailFragment(personID);

Being the constructor of the Fragment like this:

public PersonDetailFragment(String personID) {
        // Required empty public constructor

If you want to communicate constantly with the activity you can implement interfaces. Read this article, It's a good point to start with them, listeners.

By : Enrique

Best way to access Exchange using PHP?

Encrypting Passwords

Connect PHP to IBM i (AS/400

Are PHP Variables passed by value or by reference?

Make XAMPP/Apache serve file outside of htdocs [closed]

How can I get the authenticated user name under Apache using plain HTTP authentication and PHP?

Using object property as default for method property

Mechanisms for tracking DB schema changes [closed]

How can I get at the matches when using preg_replace in PHP?

Why is my ternary expression not working?

File size differences after copying a file to a server vía FTP

MySQL/Apache Error in PHP MySQL query

PHP Error - Uploading a file

Multi-Paradigm Languages

Video about calculation inside a loop does'nt make result