Bonjour,
je gallère pour solutionner le problème ci-dessous, j'aimerai en téhorie obtenir le même nombre d'articles à décompter quand les 1er chiffres d'une réference sont similaire, petit schéma,
ID----Model---Ventes---Unités---Stock---Décompte--Nouveau Stock----
74---11111.6----1--------6------900--------6-----------894-----------
75---11111------1--------1------900--------1-----------899----------
76---22222------1--------1------800--------1-----------799----------
"11111.6" est une référence indépendente de "11111" mais en réalité il s'agit du même produit, l'un est vendu par lot de 6 définit dans la base de données, l'autre par 1, logiquement j'ai vendu en tout 7 articles de la référence 11111, j'aimerai donc que ça décompte 7 articles de la référence "11111.6" et 7 de la référence "111111" et ainsi obtenir,
ID----Model---Ventes---Unités---Stock---Décompte--Nouveau Stock----
74---11111.6----1--------6------900--------6-----------893-----------
75---11111------1--------1------900--------1-----------893----------
76---22222------1--------1------800--------1-----------799----------
j'ai un petit bout de code exemple avec lequel je joue sur la référence,
je pense qu'il y a d'autres méthodes...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 for ($i=0, $n=sizeof($order->products); $i<$n; $i++){ // faire une boucle sur les articles if (strstr($order->products[$i]['model'], ".")){ // si détection du caractère "." dans model $model = substr($order->products[$i]['model'], 0, strpos($order->products[$i]['model'], "-")); // "11111.6" devient "11111" echo $stock_left = $stock_values['stock'] - ($order->products[$i]['ventes']*$stock_values['unites']); // déduit 7 articles du stock } elseif ($model == $order->products[$i]['model']){ // si la 2ème référence article est = à la 1ère "11111" echo $stock_left; // déduit aussi 7 articles du stock pour cette référence } else{ echo $stock_left = $stock_values['stock'] - ($order->products[$i]['ventes']*$stock_values['unites']); // déduit 1 article du stock pour la référence 22222 } }
merci pour vos réponses..
Partager