IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Calcul de valeur entre 2 array


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 131
    Points : 49
    Points
    49
    Par défaut Calcul de valeur entre 2 array
    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

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est quoi $qty ? $QprodutsQuantityDiscount->valueInt('discount_quantity'); ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 131
    Points : 49
    Points
    49
    Par défaut
    $qty est une quantié ajouté par un utilisateur

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    et le $discount il vient d'ou par rapport au code que tu nous as montré ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 131
    Points : 49
    Points
    49
    Par défaut
    L'example induit peut être en erreur
    en fait $discount = $discount_customer[] qui elle provient de la base de données

    il ya deux valeurs, l'une est $discount_quantity[] et en fonction de la tranche on applique la remise $discount_quantity[]

    si $qty < $discount_quantity[] alors $new_price = $price

    si ($qty > $discount_quantity[] et $qty < $discount_quantity[]) alors $new_price = $price - ( (price * $discount_customer[]) /100)

    ...

    si $qty > $discount_quantity[] alors $new_price = $price - ( (price * $discount_customer[]) /100)

    un exemple par l'image
    Nom : qty.png
Affichages : 47
Taille : 3,3 Ko

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    $discount_quantity contient plusieurs valeurs ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 131
    Points : 49
    Points
    49
    Par défaut
    voici un exemple de la bd
    tu comprendras mieux

    Nom : bd.png
Affichages : 45
Taille : 14,3 Ko

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Et donc si j'ai une quantité de 15 il doit se passer quoi ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Calcule de valeurs entre listes
    Par lesanglier dans le forum SharePoint
    Réponses: 3
    Dernier message: 20/11/2009, 08h29
  2. Réponses: 4
    Dernier message: 07/05/2008, 10h53
  3. Réponses: 28
    Dernier message: 27/11/2007, 10h40
  4. Réponses: 8
    Dernier message: 18/09/2007, 11h25
  5. Calcul du maximum entre plusieurs valeurs
    Par gastaman dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 27/11/2006, 11h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo