vandouzen007
Messages postés48Date d'inscriptionlundi 21 octobre 2013StatutMembreDernière intervention29 mars 2014
-
Modifié par BunoCS le 21/10/2013 à 22:46
jordane45
Messages postés38145Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention25 avril 2024
-
22 oct. 2013 à 08:12
Bonjour tout le monde,
j'ai ce code et ça marche bien! (code en php pour calculer le nombre de jours ouvrable entre 2 dates)!
Mon problème c'est que j'arrive pas à faire entrer à partir de l'input les date que je veux entrer!!
voiçi le code qui marche bien sans <form></form>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd]"> <html xmlns="[http://www.w3.org/1999/xhtml]"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Document sans titre</title> </head>
<body>
<?php // Fonction permettant de compter le nombre de jours ouvrés entre deux dates function get_nb_open_days($date_start, $date_stop) { $arr_bank_holidays = array(); // Tableau des jours feriés
// On boucle dans le cas où l'année de départ serait différente de l'année d'arrivée $diff_year = date('Y', $date_stop) - date('Y', $date_start); for ($i = 0; $i <= $diff_year; $i++) { $year = (int)date('Y', $date_start) + $i; //$years='2015';
// Liste des jours feriés //$arr_bank_holidays[0] ny voloany $arr_bank_holidays[] = '1_1_'.$year; // Jour de l'an //0 $arr_bank_holidays[] = '8_3_'.$year; // Journée mondial de la femme //1 $arr_bank_holidays[] = '29_3_'.$year; // Commémoration 29 Mars 1947 //2 $arr_bank_holidays[] = '1_5_'.$year; // Fete du travail //3 $arr_bank_holidays[] = '26_6_'.$year; // Independance de Madagascar //4 $arr_bank_holidays[] = '15_8_'.$year; // Assomption //5 $arr_bank_holidays[] = '14_10_'.$year; // COmmemoration 14 Octobre //6 $arr_bank_holidays[] = '1_11_'.$year; // Toussaint //7 $arr_bank_holidays[] = '25_12_'.$year; // Noel //8 $arr_bank_holidays[] = '31_12_'.$year; // Saint Sylvestre //9
// Récupération de paques. Permet ensuite d'obtenir le jour de l'ascension et celui de la pentecote $easter = easter_date($year); $arr_bank_holidays[] = date('j_n_'.$year, $easter + 86400); // Paques //10 $arr_bank_holidays[] = date('j_n_'.$year, $easter + (86400*40)); // Ascension //11 $arr_bank_holidays[] = date('j_n_'.$year, $easter + (86400*50)); // Pentecote //12 } //print_r($arr_bank_holidays[10]); //print_r($arr_bank_holidays[11]); //print_r($arr_bank_holidays[12]); $nb_days_open = 0; // Mettre <= si on souhaite prendre en compte le dernier jour dans le décompte while ($date_start < $date_stop) { // Si le jour suivant n'est ni un dimanche (0) ou un samedi (6), ni un jour férié, on incrémente les jours ouvrés if (!in_array(date('w', $date_start), array(0, 6)) && !in_array(date('j_n_'.date('Y', $date_start), $date_start), $arr_bank_holidays)) { $nb_days_open++; } $date_start = mktime(date('H', $date_start), date('i', $date_start), date('s', $date_start), date('m', $date_start), date('d', $date_start) + 1, date('Y', $date_start)); } return $nb_days_open; }
$nb_jours_ouvres = (get_nb_open_days($date_depart, $date_fin))+1; echo 'Il y a '.$nb_jours_ouvres.' jours ouvrés entre le '.date('d/m/Y', $date_depart).' et le '.date('d/m/Y', $date_fin); ?> </body> </html>
je veux bien que $date_depart et $date_fin sont taper par l'utilisateur mais pas modifier le code comme cet exemple l'indique!
jordane45
Messages postés38145Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention25 avril 2024344 21 oct. 2013 à 16:22
Bonjour,
Déjà, lorsque l'on poste du CODE, il faut utiliser la coloration syntaxique (première icone en haut à droite)
<?Php //Exemple de code Mis en forme avec les balises de code !! $date_depart = strtotime('2013-10-31'); $date_fin = strtotime('2013-11-04'); ?>
Ensuite, je ne comprend pas votre question....
Actuellement, les dates de départ et de fin sont indiquées en "DUR" dans le programme...
Pour que vous puissiez les faire "modifier" par un utilisateur, il vous faut un formulaire avec des Input... là je n'en vois pas !
vandouzen007
Messages postés48Date d'inscriptionlundi 21 octobre 2013StatutMembreDernière intervention29 mars 20141 21 oct. 2013 à 16:30
j'aimerai que la date sera entrer à partir de l'input de l'interface utilisateur!
Les deux dates sont maintenant entrer manuellement.
Plutôt, les dates se sont récupérer à partir de l'input
BunoCS
Messages postés15475Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention23 avril 2024103 21 oct. 2013 à 22:47
Hello,
Je ne fais que passer. Je viens de rajouter les balises code (4e icone au-dessus de la zone de texte) dans ta demande.
Tu ne trouves pas qu'on gagne en lisibilité? ;)
Merci d'y penser la prochaine fois....
vandouzen007
Messages postés48Date d'inscriptionlundi 21 octobre 2013StatutMembreDernière intervention29 mars 20141 22 oct. 2013 à 07:42
Bonjour! j'explique encore mon problème!
Sur ce code j'ai pas mis la
<form></form>
!
Mais j'ai envie de mettre de la
<form></form>
avec 3 inputs! Le premier est d'introduire la date de début, le 2èm pour la date fin et le 3èm pour le resultat(le nombre de jours compris entre les deux dates). Donc il faut que