119 lines
4.3 KiB
PHP
Executable File
119 lines
4.3 KiB
PHP
Executable File
<?php
|
|
// $nomFicAppelant = basename(__FILE__);
|
|
function testCond ( $tabCode ) {
|
|
$test =-1;
|
|
|
|
$continueR=0;
|
|
global $idPdo;
|
|
global $usrSiteMsg;
|
|
global $qte;
|
|
global $idPrd;
|
|
global $conditionsRemplies;
|
|
|
|
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .='<br><span style="color:blue; text-align:left;">Condition ' .$tabCode. ' </span> => ';}
|
|
|
|
if ($tabCode!="" && $tabCode!="-") {
|
|
|
|
// ---------------------------------------------------
|
|
// Recup des parametres de la condition numR
|
|
// ---------------------------------------------------
|
|
$reqSelect = "SELECT codeR, operateurR, seuilR from rConditions where numR=" .$tabCode. " ;";
|
|
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .='<br>reqSelect = ' .$reqSelect. '';}
|
|
$resConn="";
|
|
try{
|
|
$resConn=$idPdo->query($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 .='<span style="color:blue">' .$codeR. ' ' .$operateurR. ' ' .$seuilR . '</span>'; }
|
|
}
|
|
}
|
|
catch (PDOException $e) {
|
|
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .=' PDOException = ' .$e->getMessage(). ' reqSelect = ' .$reqSelect ; }
|
|
}
|
|
|
|
if ($conditionsRemplies==1) {
|
|
// ---------------------------------------------------
|
|
// Si la condtion est refPrd trouver le idPrd
|
|
// ---------------------------------------------------
|
|
$test = strpos ( $codeR, "refPrd" );
|
|
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .='<br><span style="color:green"> test si refPrd => ' .$test. '</span>';}
|
|
if ($test>-1) {
|
|
$critere = "refPrd='" .$seuilR. "'";
|
|
$reqSelect = "SELECT idPrd FROM `produits` WHERE " .$critere. ";";
|
|
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .=' | reqSelect = ' .$reqSelect. '';}
|
|
$resConn="";
|
|
|
|
try{
|
|
$resConn=$idPdo->query($reqSelect);
|
|
if ($resConn) {
|
|
$test='';
|
|
while($tabresultR=$resConn->fetch(PDO::FETCH_ASSOC)) {
|
|
$test=$tabresultR['idPrd'];
|
|
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .=' | nouveau idPrd [test]: ' .$test;}
|
|
}
|
|
|
|
// ---------------------------------------------------
|
|
// Vérifier si la condition s'applique : idPrd = idPrd cherché (test)
|
|
// ---------------------------------------------------
|
|
if ($test!='') {
|
|
if ($idPrd==$test) {$conditionsRemplies = 1;}
|
|
}
|
|
else {
|
|
$conditionsRemplies = -1;
|
|
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .=' | tabC1 pas de refPrd trouvé en base : ' .$critere;}
|
|
}
|
|
}
|
|
}
|
|
catch (PDOException $e) {
|
|
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .='<br>PDOException ' .$e. ' reqSelect = ' .$reqSelect ; }
|
|
}
|
|
}
|
|
}
|
|
|
|
// ---------------------------------------------------
|
|
// si continuer et la condition est quantité, faire le test selon le seuil
|
|
// ---------------------------------------------------
|
|
if ($conditionsRemplies==1) {
|
|
$test = strpos ( $codeR, "qte" );
|
|
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .='<br><span style="color:black"> test si qte => ' .$test. '</span>'; }
|
|
if ($test>-1) {
|
|
|
|
// ---------------------------------------------------
|
|
// Vérifier si la condition s'applique
|
|
// ---------------------------------------------------
|
|
switch ($operateurR) {
|
|
case '<':
|
|
if ($qte<$seuilR ) $conditionsRemplies=1; else $conditionsRemplies=-1;
|
|
break;
|
|
|
|
case '<=':
|
|
if ($qte<=$seuilR ) $conditionsRemplies=1; else $conditionsRemplies=-1;
|
|
break;
|
|
|
|
case '=':
|
|
if ($qte=$seuilR ) $conditionsRemplies=1; else $conditionsRemplies=-1;
|
|
break;
|
|
|
|
case '>':
|
|
if ($qte>$seuilR ) $conditionsRemplies=1; else $conditionsRemplies=-1;
|
|
break;
|
|
|
|
case '>=':
|
|
if ($qte>=$seuilR ) $conditionsRemplies=1; else $conditionsRemplies=-1;
|
|
break;
|
|
|
|
default :
|
|
if (isset($debug[2]) && $debug[2] == '1' ) $debugMsg .='<br>pas de case quantité matchée !';
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .='<br>conditionsRemplies apres => ' .$conditionsRemplies. '';}
|
|
|
|
}
|
|
?>
|