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:
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());
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 : 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());   	   	
	}
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