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 :

probleme de syntaxe ?


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé Avatar de nimbus_77
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 109
    Par défaut probleme de syntaxe ?
    j'ai validé les calculs individuellement, et ils fonctionnent,
    mais le payant pour ne s'applique pas.

    Soucis avec mes IF ?
    une autre solution ?

    le code étant commenté :
    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
     
    /* Mode d'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 */
    // si le poids est est inferieur au forfait le cout = le tarif
    if($sum_Poids  <= $forfait ) {$cout_jour = $tarif ;}
    else {
            /* la regle general */
            if($sum_Poids  >= $forfait ){$cout_jour = ($sum_Poids / 100)  *  $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
            elseif((($sum_Poids / 100) * $row_2->t6) >  (($row_2->p16pp)/100)* $row_2->t7 ) {$cout_jour =  $row_2->p16pp/100* $row_2->t7;}
            elseif((($sum_Poids / 100) * $row_2->t7) >  (($row_2->p17pp)/100)* $row_2->t8 ) {$cout_jour =  $row_2->p17pp/100* $row_2->t8;}
            elseif((($sum_Poids / 100) * $row_2->t8) >  (($row_2->p18pp)/100)* $row_2->t9 ) {$cout_jour =  $row_2->p18pp/100* $row_2->t9;}
            elseif((($sum_Poids / 100) * $row_2->t9) >  (($row_2->p19pp)/100)* $row_2->t10) {$cout_jour =  $row_2->p19pp/100* $row_2->t10;}
            elseif((($sum_Poids / 100) * $row_2->t10) > (($row_2->p20pp)/100)* $row_2->t11) {$cout_jour =  $row_2->p20pp/100* $row_2->t11;}
            elseif((($sum_Poids / 100) * $row_2->t11) > (($row_2->p21pp)/100)* $row_2->t12) {$cout_jour =  $row_2->p21pp/100* $row_2->t12;}
            elseif((($sum_Poids / 100) * $row_2->t12) > (($row_2->p22pp)/100)* $row_2->t13) {$cout_jour =  $row_2->p22pp/100* $row_2->t13;}
            elseif((($sum_Poids / 100) * $row_2->t13) > (($row_2->p23pp)/100)* $row_2->t14) {$cout_jour =  $row_2->p23pp/100* $row_2->t14;}
            elseif((($sum_Poids / 100) * $row_2->t14) > (($row_2->p24pp)/100)* $row_2->t15) {$cout_jour =  $row_2->p24pp/100* $row_2->t15;}
          }
    Merci de vos avis

  2. #2
    Membre confirmé Avatar de nimbus_77
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 109
    Par défaut bon tout a évolué mais j'ai toujours un probleme :
    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
    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

Discussions similaires

  1. probleme de syntaxe sql dans VB
    Par njac dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 20/05/2005, 14h41
  2. [VB.NET] Probleme de syntaxe
    Par microthib dans le forum Windows Forms
    Réponses: 4
    Dernier message: 17/03/2005, 13h49
  3. probleme fonction syntaxe
    Par gIch dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 28/02/2005, 09h52
  4. [Débutante] Problèmes de syntaxe
    Par new_wave dans le forum Prolog
    Réponses: 4
    Dernier message: 02/11/2004, 18h39
  5. Problemes de syntaxe
    Par maahta dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 01/10/2003, 13h40

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