Décompte dans une Boucle For
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,
Code:
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
}
} |
je pense qu'il y a d'autres méthodes...
merci pour vos réponses..