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
Je commence donc par insérer dans ma bdd l'action (quoiqu'il arrive)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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:
Cette requête fonctionne bien (je l'ai testé sur phpmyadmin indépendamment)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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());
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:
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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()); }
Merci pour votre aide![]()
Partager