bon tout a évolué mais j'ai toujours un probleme :
Code:
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 34 35 36 37 38 39
|
$forfait = $row_2->forfait ;
$arrondi_10 = $row_2->arrondi_10 ;
$arrondi_100 = $row_2->arrondi_100 ;
// application du tarif correspondant a la tranche de poids
switch($sum_Poids)
{
case ($sum_Poids <= ($row_2->p11)) : ($tarif = $row_2->t1); break;
case ($sum_Poids <= ($row_2->p12)) : ($tarif = $row_2->t2); break;
case ($sum_Poids <= ($row_2->p13)) : ($tarif = $row_2->t3); break;
case ($sum_Poids <= ($row_2->p14)) : ($tarif = $row_2->t4); break;
case ($sum_Poids <= ($row_2->p15)) : ($tarif = $row_2->t5); break;
case ($sum_Poids <= ($row_2->p16)) : ($tarif = $row_2->t6); break;
case ($sum_Poids <= ($row_2->p17)) : ($tarif = $row_2->t7); break;
case ($sum_Poids <= ($row_2->p18)) : ($tarif = $row_2->t8); break;
case ($sum_Poids <= ($row_2->p19)) : ($tarif = $row_2->t9); break;
case ($sum_Poids <= ($row_2->p20)) : ($tarif = $row_2->t10); break;
case ($sum_Poids <= ($row_2->p21)) : ($tarif = $row_2->t11); break;
case ($sum_Poids <= ($row_2->p22)) : ($tarif = $row_2->t12); break;
case ($sum_Poids <= ($row_2->p23)) : ($tarif = $row_2->t13); break;
case ($sum_Poids <= ($row_2->p24)) : ($tarif = $row_2->t14); break;
case ($sum_Poids > ($row_2->p25)) : ($tarif = $row_2->t15); break;
}
/* Mode application des arrondis a 10 ATTENTION $arrondi_10 doit etre 20000 par defaut */
if($sum_Poids > $arrondi_10 AND $sum_Poids < $arrondi_100 ) {$sum_Poids =(ceil($sum_Poids/10))*10;} else {}
/* Mode application des arrondis a 100 ATTENTION $arrondi_10 doit etre 20000 par defaut */
if($sum_Poids > $arrondi_100 ) {$sum_Poids =(ceil($sum_Poids/100))*100;} else {}
/* Mode application du forfait */
if($sum_Poids <= $forfait ) {$cout_jour = $tarif;}
else { $cout_jour = (($sum_Poids / 100) * $tarif); }
//echo $tarif .'-IoI-' . $sum_Poids .'<br>';
// VALIDE
switch($tarif)
{
// regle du PAYANT POUR : si (le poids divise par 100 multiplie par le $tarif)est superieur au cout qu'on aurait subit pour le payant pour on applique le prix du payant pour
case ($tarif==$row_2->t9) : if((($sum_Poids / 100) * $row_2->t9) >> (($row_2->p19pp)/100)* $row_2->t10) {$cout_jour = $row_2->p19pp/100* $row_2->t10;} else {$tarif==$row_2->t9;}break;
}
echo '|'.$sum_Poids .'--'. $tarif .'<br>' ; |
les echo sont juste jusqu'à la règle PAYANT POUR.
elle n'est pas du tout appliquée ...
J'ai validé la formule de calcul hors boucle et elle fonctionne ...
Nous sommes au coeur d'une suite de boucle : " $sum_Poids " ne peut avoir qu'une seule valeur.
quelque chose doit m'échapper ( comme la règle d'ailleurs ! )
merci de vos avis