Afficher le nombre d'années entre deux dates [Résolu/Fermé]

Signaler
Messages postés
47
Date d'inscription
mercredi 20 avril 2016
Statut
Membre
Dernière intervention
11 décembre 2017
-
ach32
Messages postés
47
Date d'inscription
mercredi 20 avril 2016
Statut
Membre
Dernière intervention
11 décembre 2017
-
Salut à toute la famille et bon dimanche !
Je tiens d'abord à remercier tous les membres de ce groupe qui se peinent à lire nos préocupation et nous accorder de leur précieux temps pour nous répondre.

Aujourd'hui je viens avec une préocupation que certains on déjà certainement rencontrés et ont trouvés la solution.

En fait j'ai une table employe dans mysql dans la quelle il y a un champ DATE_EMBAUCHE, je voudrais que lors de l'affichage du tableau des employés,
je puisse prendre la date de mon système, là comparer avec la DATE_EMBAUCHE de l'employé et afficher plutot l'ancienneté en nombre d'années écoulées entre la date d'embauche et la date actuelle.

En faisant des recherches sur le net je suis tombé sur plusieur méthodes qui permettent de faire le décompte du nombre de jours ou d'année écoulés entre deux dates, mais le vrai casse tète c'est de trouver comment adapter celà à mon code que voici:

// Code qui permet de compter le nombre de jours entre deux dates.
				$date1 = "03-07-2017" ;
				$date2 = "23-07-2017" ;
				$date3 = strtotime($date1) ;
				$date4 = strtotime($date2) ;

				$nbre_joursTimeStamp = $date4 - $date3 ;
				$nbr_jr = $nbre_joursTimeStamp/86400 ; 







<tbody style=" font-size:11px;">				  
					<?php   
					$recuperation_des_employes = mysql_query(" SELECT * FROM employe ORDER BY NOMS_PRENOMS ASC");
					while( $result = mysql_fetch_object($recuperation_des_employes))
					{   		
					echo (" 
                        <tr>
							<td>".$result->ID_EMPLOYE."</td>
							<td>".$result->NOMS_PRENOMS."</td>
							<td>".$result->SEXE."</td>
							<td>".$result->MATRICULE."</td>
							<td>".$result->FONCTION."</td>
							<td>".$result->CATEGORIE."</td>
							<td>".$result->ECHELON."</td>
							"); ?>
							<td>		
							    <?php 										
									if (''.$result->ANCIENNETE.'' >= 1) {
										 echo '<div align="center" >'.'<font color=green>'.'<strong>'.$result->ANCIENNETE.'</strong>'.' An(s)'.'</font>'.'</div>';
									}
									elseif(''.$result->ANCIENNETE.'' < 1 ){
										echo '<div align="center" >'.'<font color=red>'.'<strong>'.$result->ANCIENNETE.'</strong>'.' An(s)'.'</font>'.'</div>' ;
									}
								?>														
							</td>																					
					<?php	echo ("	
							<td>".$result->SALAIRE_BRUT."  F. CFA</td>
							<td align=\"center\">".$result->DATE_EMBAUCHE."</td>
							<td align=\"center\" class=\"hidden-print\"><a title=\"Modifier\" style=\"color:#69c48d\" class=\"glyphicon glyphicon-edit \"  href=\"traitements/modification_empl.php?ID_EMPLOYE=".$result->ID_EMPLOYE."\" >Edit</a> </td>
							<td class=\"hidden-print\"><a title=\"Supprimer\" style=\"color:#f8747d\" class=\"glyphicon glyphicon-trash \" href=\"#\" onClick=\"confirme('".$result->ID_EMPLOYE."')\" >Supp</a> </td>
							<a type=\"hidden\" href=\"menu_employe.php?ID_EMPLOYE=".$result->ID_EMPLOYE."\" ></a>
							</tr>
                  <?php   "); 
					}  ?>
				</tbody>
				
		







Si vous pouvez m'aider à adapter celà à mon code, c'est que Dieu a écouté ma prière à l'eglise tout à l'heure...
Merci pour votre aide

1 réponse

Messages postés
27588
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 février 2020
2 113
Bonjour,

1 - Tu utilises l'ancienne extension mysql .. considérée comme obsolète !
Je t'invite à passer à PDO ou Mysqli
http://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top

2 - Ensuite... il suffit de placer, DANS TA BOUCLE, le calcul ....
Par exemple
while( $result = mysql_fetch_object($recuperation_des_employes)){
     $nbr_jr = (strtotime($result->DATE_EMBAUCHE) - strtotime(date('Y-m-d H:i:s') ) /86400 ; 

   // le reste de ton code

}

ach32
Messages postés
47
Date d'inscription
mercredi 20 avril 2016
Statut
Membre
Dernière intervention
11 décembre 2017

Merci beaucoup pour tes orientation Jordane, j'ai résolu le problème
en affichant l'ancienneté en Années, Mois, et en Jours.


<?php   
					$recuperation_des_employes = mysql_query(" SELECT * FROM employe ORDER BY NOMS_PRENOMS ASC");
					while( $result = mysql_fetch_object($recuperation_des_employes))
					{   
						$date_start = ($result->DATE_EMBAUCHE);
				        $date_stop = date("Y-m-d H:i:s") ;
						
						$date_start = new DateTime($date_start);
						$date_stop = new DateTime($date_stop);
						 
						$diff = $date_stop->diff($date_start);
						$jr = $diff->d ; $ms = $diff->m ;  $an = $diff->y ;
						//La suite du code