Afficher le nombre d'années entre deux dates

Résolu/Fermé
ach32 Messages postés 47 Date d'inscription mercredi 20 avril 2016 Statut Membre Dernière intervention 19 septembre 2017 - 2 juil. 2017 à 16:09
ach32 Messages postés 47 Date d'inscription mercredi 20 avril 2016 Statut Membre Dernière intervention 19 septembre 2017 - 3 juil. 2017 à 00:36
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

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
2 juil. 2017 à 16:26
Bonjour,

1 - Tu utilises l'ancienne extension mysql .. considérée comme obsolète !
Je t'invite à passer à PDO ou Mysqli
https://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

}

0
ach32 Messages postés 47 Date d'inscription mercredi 20 avril 2016 Statut Membre Dernière intervention 19 septembre 2017
3 juil. 2017 à 00:36
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
0