Prendre chaque condition de chaque regle // -> ici on sait que au moins une condition ne sera pas vide car il y a un controle dans le forma admin pour ça // -> donc pas de risque de valider une regle avec toutes les conditions vides $conditionsRemplies=-1; // pour toutes les regles for ( $r=0; $rquery($reqSelect); if ($resConn) { $test=''; $tabresultR= $resConn->fetch(PDO::FETCH_ASSOC) ; $codeR=$tabresultR['codeR']; $operateurR=$tabresultR['operateurR']; $seuilR=$tabresultR['seuilR']; if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .='' .$codeR. ' ' .$operateurR. ' ' .$seuilR . ''; } } } catch (PDOException $e) { if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .=' PDOException = ' .$e->getMessage(). ' reqSelect = ' .$reqSelect ; } } // --------------------------------------------------- // TEST sur montant de commande (totalTtcCde) // --------------------------------------------------- $test=-1; $test = strpos ( $codeR, "totalTtcCde" ); if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .='
test si totalTtcCde => ' .$test. ''; } if ($test>-1) { // --------------------------------------------------- // Vérifier si la condition s'applique // --------------------------------------------------- switch ($operateurR) { case '<': if ($totalTtcCde<$seuilR ) $conditionsRemplies=1; else $conditionsRemplies=-1; break; case '<=': if ($totalTtcCde<=$seuilR ) $conditionsRemplies=1; else $conditionsRemplies=-1; break; case '=': if ($totalTtcCde=$seuilR ) $conditionsRemplies=1; else $conditionsRemplies=-1; break; case '>': if ($totalTtcCde>$seuilR ) $conditionsRemplies=1; else $conditionsRemplies=-1; break; case '>=': if ($totalTtcCde>=$seuilR ) $conditionsRemplies=1; else $conditionsRemplies=-1; break; default : if (isset($debug[2]) && $debug[2] == '1' ) $debugMsg .='
pas de case totalTtcCde matchée !'; break; } } if ($conditionsRemplies==1) $theAvantage = $tabAvantR[$r]; } //conditions remplies } //for $_SESSION['conditionsRemplies']=$conditionsRemplies; ?>