Problème condition de dates
Bonjour à tous.
J'ai un problème de if, en fait je gère des actions sur un dossier et si la date de l'action que j'ajoute est la plus récente je dois mettre à jour le statut du dossier, sinon le statut du dossier n'est pas mis à jour :ccool:
Je commence donc par insérer dans ma bdd l'action (quoiqu'il arrive)
Code:
1 2 3 4 5
| //insertion de l'action dans la bdd
$insertSQL = "insert into action(ID_TYPE_ACT, NUM_RES, MATR_EMP, NUM_DOS, REF_CON_LOC, DATE_ACT, DESC_ACT, TEL_CON_LOC, DATE_RAPPEL, ACT_PLA) values ('".$_REQUEST["ID_TYPE_ACT"]."','".$_REQUEST["NUM_RES"]."','".$_REQUEST["MATR_EMP"]."','".$_REQUEST["NUM_DOS"]."','".$_REQUEST["REF_CON_LOC"]."','".datefrancais2mysql($_REQUEST["DATE_ACT"])."','".addslashes($_REQUEST["DESC_ACT"])."','".$_REQUEST["TEL_CON_LOC"]."','".datefrancais2mysql($_REQUEST["DATE_RAPPEL"])."','".$_REQUEST["ACT_PLA"]."')";
$result = mysql_query($insertSQL) or die (mysql_error()); |
ceci fonctionne bien mais j'ai préféré mettre la requête au cas ou.
Puis je cherche la date la plus récente:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| $sql2= "select max(DATE_ACT)
from action, contrat c
LEFT JOIN locataire On locataire.NUM_DOS = action.NUM_DOS
LEFT JOIN resultat ON action.NUM_RES = resultat.NUM_RES
LEFT JOIN type_action ON action.ID_TYPE_ACT = type_action.ID_TYPE_ACT
LEFT JOIN employe ON action.MATR_EMP = employe.MATR_EMP
LEFT JOIN contact_locataire ON action.REF_CON_LOC = contact_locataire.REF_CON_LOC
where
action.NUM_DOS='".$_REQUEST["NUM_DOS"]."'
and c.NUM_DOS = locataire.NUM_DOS
and c.PRINCIPAL = '1'" ;
$result3 = mysql_query($sql2) or die (mysql_error()); |
Cette requête fonctionne bien (je l'ai testé sur phpmyadmin indépendamment)
J'ai donc fait une condition if , si la date de l'action que je veux insérer est plus récente alors je mets à jour le statut:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| if($_REQUEST['DATE_ACT']>$result3)
{
$updateStatutMandat = "update locataire m , statut_action_mandat s
set m.COD_STA_DOS = s.COD_STA_DOS
where s.ID_TYPE_ACT = '".$_REQUEST["ACT_PLA"]."'
and m.num_dos = '".$_REQUEST["NUM_DOS"]."' ";
//$updateStatutMandat = "update locataire m , statut_action_mandat s set m.COD_STA_DOS = s.ID_TYPE_ACT where s.COD_STA_DOS = '".$_REQUEST["ACT_PLA"]."' and m.num_dos = '".$_REQUEST["NUM_DOS"]."' ";
$result2 = mysql_query($updateStatutMandat) or die (mysql_error());
$insertSQL = "update locataire set DATE_MAJ = '" .date("Y/m/d H:i:s") ."' where NUM_DOS='".$_REQUEST["NUM_DOS"]."'";
$result = mysql_query($insertSQL) or die (mysql_error());
} |
Avec un echo j'ai constaté que l'on rentrait toujours dans la boucle alors j'en viens à la conclusion que mon si déconne mais je n'arrive pas à trouver pourquoi :(
Merci pour votre aide :ccool: