Comparaison dates calendrier avec dates BDD

Résolu/Fermé
YameFAZE Messages postés 201 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 14 mars 2021 - 28 mars 2019 à 16:34
YameFAZE Messages postés 201 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 14 mars 2021 - 16 mai 2019 à 11:49
Bonjour,

Pour un projet de plateforme de location j'ai :

- Une BDD avec 3 champs. "id" qui contient l'ID des réservations, "debut" au format date bien sûr qui contient les dates de début des périodes réservées, et "fin" au format date aussi qui contient les dates de fin des périodes réservées.

- Et un calendrier dynamique qui affiche le mois en cours.

Pour ce projet j'aimerais qu'une requête compare les dates du calendrier avec les périodes réservées de la BDD. S'il y a une période réservée sur le mois en cours les jours de la période concernée se colorent en rouge. Et les jours libre se colorent en vert.

Actuellement je suis capable de me connecter à la BDD et générer dynamiquement le calendrier. Quelqu'un pourrait-il m'orienter vers un tuto ou au moins sur les fonctions à voir pour faire ce que je veux ? N'hésitez pas non plus à me dire s'il y a des incohérences de compréhension dans les commentaires de mon code car je crois avoir compris le fonctionnement mais je suis encore en phase d'apprentissage et les tutos que je suis ne sont parfois pas très bien expliqués. Merci d'avance.

Mon code :
<!---------------------------->
<!------- FICHE MOTO 1 ------->
<!---------------------------->
<ul class="apparition">
	<li>
		<img src="images/moto_1.jpg" alt="Kawasaki Z1000 de 2012" />
	</li>
	<li>
		<h2>Kawasaki Z1000 de 2012</h2>
		<h3>Catégorie :</h3>
		<p>Roadster<p/>
		<h3>Cylindrée :</h3>
		<p>1.000 cm3<p/>
	</li>
	<li>
		<?php
			/* On se connecte à la BDD avec $connexion */
			/* S'il n'y a pas d'erreur à la connexion on continue */
			try {
				$connexion = new PDO('mysql:host=localhost;dbname=motalpes;charset=utf8', 'root', '');
			/* S'il y a une erreur on arrête tout et on affiche le message de $erreur */
			} catch (Exception $erreur) {
				die('Erreur : ' . $erreur -> getMessage());
			}
			/* On déclare $liste_jours qui contient la liste des jours */
			$liste_jours = array(
				1 => 'Lundi',
				2 => 'Mardi',
				3 => 'Mercredi',
				4 => 'Jeudi',
				5 => 'Vendredi',
				6 => 'Samedi',
				7 => 'Dimanche'
			);
			/* On récupère dans $mois le mois au format lettre et en version longue */
			$mois = date('F');
			/* On récupère dans $annee l'année au format à 4 chiffres */
			$annee = date('Y');
			/* On récupère dans $premier_jour le premier jour du mois */
			$premier_jour = new DateTime($annee.'-'.date('n').'-01');
			/* On récupère dans $dernier_jour le dernier jour du mois */
			$dernier_jour = new DateTime($premier_jour -> format('Y-m-t'));
			/* On déclare la $ qui va contenir les semaines de l'année */
			$liste_semaines = array();
			/* On déclare la $ qui va contenir les numéros des jours */
			$liste_numeros = array();
			/* On exécute une boucle qui doit partir du premier jour et s'arrêter au dernier jour du mois */
			while ($premier_jour -> format('Y-m-d') <= $dernier_jour -> format('Y-m-d')) {
				/* On récupère dans $semaine le numéro de semaine au format ISO à 2 chiffres */
				$semaine = $premier_jour -> format('W');
				/* On récupère dans $jour le jour au format ISO de 1 à 7 */
				$jour = $premier_jour -> format('N');
				/* On récupère dans $liste_numeros les numéros des jours du mois au format à 2 chiffres sans les 0 */
				$liste_numeros[$semaine][$jour] = $premier_jour->format('j');
				/* On récupère dans $liste_semaines les semaines de l'année */
				$liste_semaines[$semaine] = $semaine;
				/* On incrémente automatiquement de 1 jour le premier jour du mois */
				$premier_jour -> modify('+1 day');
			}
			/* On déclare le format français pour convertir les jours et les mois en français */
			setlocale(
				LC_ALL,
				'fr_FR.UTF8',
				'fr_FR',
				'fr',
				'fra',
				'fr_FR@euro'
			);
		?>
		<table>
			<tr>
				<td id="mois_en_cours" colspan="7">
					<!-- Affichage du mois en cours -->
					<?php echo strftime('%B', strtotime($mois)); ?>
				</td>
			</tr>
			<tr>
				<!-- Affichage des jours de la semaine -->
				<?php
					/* On récupère les jours dans $J en parcourant $liste_jours */
					foreach ($liste_jours as $J) {
						/* On génère une cellule pour chaque jour */
						echo "<td>".$J."</td>";
					}
				?>
			</tr>
			<tr>
				<!-- Affichage des numéros des jours -->
				<?php
					/* On récupère les semaines dans $S en parcourant $liste_semaines */
					foreach ($liste_semaines as $S) {
						/* On génère une première ligne */
						echo "<tr>";
						/* On conditionne un index qui doit être égale à 1, ne pas dépasser 7, et s'incrémenter automatiquement */
						for ($i = 1; $i <= 7; $i++) {
							/* Si $liste_numeros n'est pas vide... */
							if (!empty($liste_numeros[$S][$i])) {
								/* ...alors on génère une cellule pour chaque numéro de jour et arrivé à 7 cellules on génère une nouvelle ligne... */
								echo "<td>".$liste_numeros[$S][$i]."</td>";
							/* ...et sinon... */
							} else {
								/* ...on génère des cellules vides pour terminer la ligne en cours */
								echo "<td class='cellule_vide'></td>";
							}
						}
						/* On ferme la ligne en cours */
						echo "</tr>";
					}
				?>
			</tr>
		</table>
	</li>
</ul>


Configuration: Ordinateur portable ASUS UX21E
Windows 7
A voir également:

6 réponses

Bonjour,
ne confondriez vous pas SQL et PHP? Il est tout à fait possible de comparer des dates directement sur la base de données ainsi. SQL est le langage de la/les bases de données tandis que PHP à son propre serveur et fait le lien entre la page HTML et la base.
https://sql.sh

Je ne suis pas trop sûr de comprendre votre question, une chose est sûre c'est qu'il peut être plus facile de convertir les dates en entier numériques pour des calculs. Pour ça on utilise généralement un timestamp linux, sur la BDD ça permet aussi de ne retenir qu'une seule valeur plutôt que celle d'une date formatée(JJ/mois/année) et qui peut être précise à la seconde près.

"Pour ce projet j'aimerais qu'une requête compare les dates du calendrier avec les périodes réservées de la BDD. S'il y a une période réservée sur le mois en cours les jours de la période concernée se colorent en rouge. Et les jours libre se colorent en vert. "

_ requête = SQL et non PHP (d'ailleurs SQL signifie Structured Query Language ou en français approximatif langage de requête structuré).
_ Pour comparer vous avez les opérateurs classiques > et < et avec = pour la tolérance. Tout en sachant qu'il faudra 'tester' deux valeurs si vous cherchez à savoir si une date est comprise entre une période(donc > au début et < à la fin de la période).
_ Pour le texte affichée dans une page web c'est CSS, vous pouvez utiliser des classes par exemple:
https://www.w3schools.com/cssref/sel_class.asp
0
YameFAZE Messages postés 201 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 14 mars 2021
28 mars 2019 à 20:03
Je suis en train de m'arracher les cheveux alors que pourtant je suis sûr que ce doit être simple...

Par rapport à mon précédent code voilà tout ce que j'ai réussi à pondre :
<?php
			/* On se connecte à la BDD avec $connexion */
			/* S'il n'y a pas d'erreur à la connexion on continue */
			try {
				$connexion = new PDO('mysql:host=localhost;dbname=dbname;charset=utf8', 'root', '');
			/* S'il y a une erreur on arrête tout et on affiche $exception */
			} catch (Exception $exception) {
				die('Erreur : ' . $exception -> getMessage());
			}

			$requete = $connexion -> query('SELECT debut, fin FROM table_name');
			$dates = $requete -> fetch();
			$requete -> closeCursor();


Maintenant je suis bloqué. Je trouve pas mal de tutos mais ils ne font pas exactement ce que je veux et dès que j'essaye d'adapter à ma situation ça plante. En fait je ne sais vraiment pas par où commencer. Est-ce que je dois d'abord extraire les dates de la BDD et ensuite les comparer au calendrier ? Ou bien est-ce que je dois d'abord préparer le calendrier et ensuite le comparer aux dates de la BDD. Pour infos je débute vraiment avec les BDD.
0
yg_be Messages postés 23406 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 décembre 2024 Ambassadeur 1 557
28 mars 2019 à 20:21
bonjour, le plus simple n'est-il pas, pour chaque jour du calendrier, de vérifier si il est inclus dans une période de la bdd, et de le colorier en conséquence? comment ferais-tu si tu devais faire cela à la main: colorier un calendrier en fonction d'une liste de périodes?
quel est le contexte de cet exercice?
c'est normal que tu ne trouves pas le tuto qui fait exactement ce que tu veux. le but du tuto, c'est de t'aider à acquérir des connaissances.
le but de l'exercice, c'est que tu mettes ses connaissances en pratique.
0
YameFAZE Messages postés 201 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 14 mars 2021
29 mars 2019 à 08:32
Par raisonnement logique, il faudrait que je me connecte à la BDD, que je compare chaque jour du calendrier à la BDD avec un "if" par exemple, si "if" est vrai (le jour existe dans la BDD) alors on colore en rouge, sinon "else" on colore en vert.

Mais j'ai deux problèmes que je ne sais pas régler, mon calendrier est dynamique, chaque jour du calendrier n'est pas clairement identifié. Je ne sais pas comment faire pour identifier chaque jour afin de les comparer à la BDD.

Le second problème est que dans la BDD, si la moto est louée du 5 au 10, il n'y a que le 5 et le 10 qui existent dans la BDD, les 6, 7, 8 et 9 n'existent pas. Il faudrait donc que je puisse dire, si le jour du calendrier que je souhaite comparer se trouve entre le 5 du champs "debut" et le 10 du champs "fin" alors on colore en rouge, sinon on colore en vert.

Je pense avoir le bon raisonnement mais c'est les méthodes que je ne sais pas appliquer. Et puis s'il faut que je compare 31 jours à la suite ça ferait 31 lignes de code... un peu lourd je trouve. Il doit y avoir un moyen de faire une boucle pour comparer avec un "while" je suppose mais encore une fois je ne sais pas comment procéder.
0
jordane45 Messages postés 38347 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 décembre 2024 4 719
29 mars 2019 à 11:34
Bonjour,

Primo.... merci de ne pas ouvrir de doublon.
Tu avais démarré ta question ici : https://forums.commentcamarche.net/forum/affich-35947156-pdo-selectionner-periode-entre-2-dates-et-l-afficher

Enfin bon...

Concernant ta demande....
Je t'ai indiqué que tu pouvais faire un fetchAll sur ta requête pour récupérer toutes les datas dans un array.
Il faut ensuite, à partir de ces données, générer un nouvel array contenant toutes les dates incluses dans tes périodes de location. ( en bouclant, pour chaque location, entre la date de début et la date de fin ).

Une fois ce nouvel array complété, il te faudra faire une nouvelle boucle sur toutes les dates de ton calendrier et vérifier si la date se trouve dans l'array ou non. De cette façon tu sauras si il y a une réservation ou non. et cela évitera de faire bêtement (comme n'importe quel débutant........ ) une requête SQL à chaque date
0
YameFAZE Messages postés 201 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 14 mars 2021 > jordane45 Messages postés 38347 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 décembre 2024
29 mars 2019 à 14:16
Désolé pour le doublon.

J'ai commencé mais je n'y arrive pas. Pour le moment j'essaye déjà d'extraire les dates de la BDD et de les comparer avec une date fictive, et pour vérifier si ça marche j'utilise un "if". Mais je suis bloqué.

J'ai essayé ça :
/* On prend en exemple une date */
			$exemple = '2019-01-01';
			/* On se connecte à la BDD avec $connexion */
			/* S'il n'y a pas d'erreur à la connexion on continue */
			try {
				$connexion = new PDO('mysql:host=localhost;dbname=motalpes;charset=utf8', 'root', '');
			/* S'il y a une erreur on arrête tout et on affiche un message d'erreur */
			} catch (Exception $exception) {
				echo 'Une erreur est survenue';
				die();
			}
			/* On prépare $requete pour récupérer les dates des champs "debut" et "fin" de la table "cf_903_bp" */
			$requete = $connexion -> prepare('SELECT debut, fin FROM cf_903_bp');
			/* On exécute $requete */
			$requete -> execute();
			/* On récupère les dates dans $dates en ne sélectionnant que celles comprises entre "debut" et "fin" */
			while($dates = $requete -> fetch()) {
				$dates_debut = $requete['debut'];
				$dates_fin = $requete['fin'];
			}
			/* Si $exemple est comprise entre la date de début et la date de fin d'une période de location existante dans la BDD... */
			if ($exemple >= $dates_debut && $exemple <= $dates_fin) {
				/* ...alors on affiche un message... */
				print('La moto est déjà réservée à cette date');
			/* ...sinon... */
			} else {
				/* ...on affiche un autre message */
				print('La moto est disponible à cette date');
			}

Avec un erreur "Fatal error: Uncaught Error: Cannot use object of type PDOStatement as array in".

J'ai essayé ça :
/* On prend en exemple une date */
			$exemple = '2019-01-01';
			/* On se connecte à la BDD avec $connexion */
			/* S'il n'y a pas d'erreur à la connexion on continue */
			try {
				$connexion = new PDO('mysql:host=localhost;dbname=motalpes;charset=utf8', 'root', '');
			/* S'il y a une erreur on arrête tout et on affiche un message d'erreur */
			} catch (Exception $exception) {
				echo 'Une erreur est survenue';
				die();
			}
			/* On prépare $requete pour récupérer les dates des champs "debut" et "fin" de la table "cf_903_bp" */
			$requete = $connexion -> prepare('SELECT debut, fin FROM cf_903_bp');
			/* On exécute $requete */
			$requete -> execute();
			/* On récupère les dates dans $dates en ne sélectionnant que celles comprises entre "debut" et "fin" */
			$dates = $requete -> fetch();
			$dates_debut = $requete['debut'];
			$dates_fin = $requete['fin'];
			/* Si $exemple est comprise entre la date de début et la date de fin d'une période de location existante dans la BDD... */
			if ($exemple >= $dates_debut && $exemple <= $dates_fin) {
				/* ...alors on affiche un message... */
				print('La moto est déjà réservée à cette date');
			/* ...sinon... */
			} else {
				/* ...on affiche un autre message */
				print('La moto est disponible à cette date');
			}

Avec la même erreur.

J'ai également essayé ça :
/* On prend en exemple une date */
			$exemple = '2019-01-01';
			/* On se connecte à la BDD avec $connexion */
			/* S'il n'y a pas d'erreur à la connexion on continue */
			try {
				$connexion = new PDO('mysql:host=localhost;dbname=motalpes;charset=utf8', 'root', '');
			/* S'il y a une erreur on arrête tout et on affiche un message d'erreur */
			} catch (Exception $exception) {
				echo 'Une erreur est survenue';
				die();
			}
			/* On prépare $requete pour récupérer les dates des champs "debut" et "fin" de la table "cf_903_bp" */
			$requete = $connexion -> prepare('SELECT debut, fin FROM cf_903_bp');
			/* On exécute $requete */
			$requete -> execute();
			/* On récupère les dates dans $dates en ne sélectionnant que celles comprises entre "debut" et "fin" */
			$dates = $requete -> fetchAll();
			/* Si $exemple est comprise entre la date de début et la date de fin d'une période de location existante dans la BDD... */
			if ($exemple >= $dates['debut'] && $exemple <= $dates['fin']) {
				/* ...alors on affiche un message... */
				print('La moto est déjà réservée à cette date');
			/* ...sinon... */
			} else {
				/* ...on affiche un autre message */
				print('La moto est disponible à cette date');
			}

Avec l'erreur "Notice: Undefined index: debut in".

Bref ça m'énerve. Je ne suis pas quelqu'un de patient.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jordane45 Messages postés 38347 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 décembre 2024 4 719
Modifié le 29 mars 2019 à 14:51
En gros... (code écrit de tête sans l'avoir testé....)
<?php
/* Affichage des erreurs php
* voir ce lien : https://www.commentcamarche.net/faq/48399-php-gestion-des-erreurs-debogage-et-ecriture-du-code
*/
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

/* On se connecte à la BDD avec $connexion */
/* S'il n'y a pas d'erreur à la connexion on continue */
try{
$bdd = new PDO('mysql:host=localhost;dbname=motalpes;charset=utf8', 'root', '');
// Activation des erreurs PDO
 $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// mode de fetch par défaut : FETCH_ASSOC / FETCH_OBJ / FETCH_BOTH
 $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
} catch(PDOException $e) {
    die('Erreur : ' . $e->getMessage());
}


//On récupère les dates dans la bdd
//préparation de la requête et des variables
 $sql = "SELECT  debut
                ,fin 
        FROM cf_903_bp"; // il manque un where pour choisir la moto non ???
 $datas = null; //array(':moto'=>$moto); // si tu ajoutes un where...

//Execution de la requete
try{
  $requete = $bdd->prepare($sql) ;
  $requete->execute($datas) ;
}catch(Exception $e){
  // en cas d'erreur :
   echo " Erreur ! ".$e->getMessage();
   echo " Les datas : " ;
  print_r($datas);
}

//on stocke le résultat de la requête dans un array
$arr = $requete->fetchAll();

$arrDates = array();
//on retravaille le résultat de la requête pour générer un tableau utilisable...
if(!empty($arr)){
  foreach($arr as $R){
    $deb = $R['debut']; 
    $fin = $R['fin'];
    
    $date = $deb;
    while (strtotime($date) <= strtotime($fin)) {
      $arrDates[] = $date;
      $date = date ("Y-m-d", strtotime("+1 day", strtotime($date)));
    }
  }
}

//On supprime les éventuels doublons (même si il ne devrait pas y en avoir..... )
$arrDates = array_unique($arrDates);

//maintenant que l'on a un array avec toutes les dates réservées...
//on peut vérifier si ta date se trouve dedans avec un simple in_array

/* On prend en exemple une date */
$exemple = '2019-01-01';
   
if(in_array($exemple,$arrDates)){
 echo 'La moto est déjà réservée à cette date';
} else { /* ...sinon... */
 echo 'La moto est disponible à cette date';
}



0
YameFAZE Messages postés 201 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 14 mars 2021
29 mars 2019 à 22:24
Ok merci. Je vais prendre le temps de décortiquer ton code pour essayer de comprendre ce que tu as fait. Et je testerai. Je reviendrai dès que c'est fait.
0
YameFAZE Messages postés 201 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 14 mars 2021
29 mars 2019 à 23:01
Bon j'ai testé le code est il fonctionne bien. Avant de passer à l'étape suivante j'aimerais vraiment comprendre ton code. J'ai mis des commentaires à chaque ligne pour essayer de le décortiquer et j'aimerais que tu me dises si j'ai bien compris le principe. N'hésite pas à me rectifier sur certains commentaires. Au passage j'ai modifié le nom de certaines variables pour rendre le code encore plus compréhensible pour moi. Je les re modifierais si nécessaire par la suite. Il y a cependant quelques lignes que je n'ai pas encore compris (lignes sans commentaires). Si tu pouvais éclairer mon ignorance stp. Merci.

/*-------------------------*/
			/*------- CONNEXION -------*/
			/*-------------------------*/
			/* On se connecte à la BDD */
			/* S'il n'y a pas d'erreur à la connexion... */
			try {
				/* ...on se connecte... */
				$connexion = new PDO('mysql:host=localhost;dbname=motalpes;charset=utf8', 'root', '');
				/* ...on active les erreurs PDO... */
				$connexion -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
				/* ...et on attribue un mode de fetch par défaut... */
				$connexion -> setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
			/* ...sinon... */
			} catch(PDOException $exception) {
				/* ...on arrête tout et on affiche un message d'erreur */
				die('Erreur : ' . $exception -> getMessage());
			}

			/*---------------------------*/
			/*------- COMPARATEUR -------*/
			/*---------------------------*/
			/* On déclare une requête pour récupérer les dates des champs "debut" et "fin" de la table "cf_903_bp" */
			$requete = "SELECT debut, fin FROM cf_903_bp";
			/* On attribue une valeur par défaut à la $ qui va contenir les données */
			$donnees = null;
			/* On exécute la requête */
			/* S'il n'y a pas d'erreur à l'exécution... */
			try {
				/* ...on se connecte et on prépare la requête... */
				$execution = $connexion -> prepare($requete);
				/* ...et on exécute la requête en récupérant les données... */
				$execution -> execute($donnees);
			/* ...sinon... */
			} catch(Exception $exception) {
				/* ...on affiche un message d'erreur... */
				echo " Erreur ! " . $exception -> getMessage();
				echo " Les dates : " ;
				/* ...et on affiche les données */
				print_r($donnees);
			}
			/* On récupère les données brutes de la requête */
			$resultat_brut = $execution -> fetchAll();
			/* On déclare la $ qui va contenir les données travaillées */
			$resultat_travaille = array();
			/* Si la $ n'est pas vide... */
			if(!empty($resultat_brut)) {
				/* ...alors on la parcourt en triant les données... */
				foreach($resultat_brut as $R) {
					/* ...on récupère d'un côté les dates de début de location... */
					$date_debut = $R['debut'];
					/* ...de l'autre côté les dates de fin de location... */
					$date_fin = $R['fin'];
					/**/
					$date = $date_debut;
					/* ...on effectue une boucle pour comparer les dates... */
					while(strtotime($date) <= strtotime($date_fin)) {
						/**/
						$resultat_travaille[] = $date;
						/**/
						$date = date ("Y-m-d", strtotime("+1 day", strtotime($date)));
					}
				}
			}
			/* On supprime les éventuels doublons dans la $ */
			$resultat_travaille = array_unique($resultat_travaille);
			/* On prend en exemple une date au hasard */
			$exemple = '2019-05-25';
			/* Si la date à comparer existe déjà dans une période de location... */
			if (in_array($exemple, $resultat_travaille)) {
				/* ...alors on affiche un message... */
				echo 'La moto est déjà réservée à cette date';
			/* ...sinon... */
			} else {
				/* ...on affiche un autre message */
				echo 'La moto est disponible à cette date';
			}
0
yg_be Messages postés 23406 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 décembre 2024 1 557 > YameFAZE Messages postés 201 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 14 mars 2021
30 mars 2019 à 09:26
bonjour,
$resultat_travaille serait plutôt $les_dates_reservees
$resultat_brut serait $les_periodes_reservees
$R serait $une_periode_reservee

ligne 47, où vois-tu un tri?
ligne 49, une date de début, pas les dates de début
ligne 51 une date
en ligne 55, on effectue une boucle pour créer un tableau avec les dates réservées entre date début et date fin.
ce que fait la ligne 58, elle ajoute une date réservée au tableau.
0
jordane45 Messages postés 38347 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 décembre 2024 4 719 > yg_be Messages postés 23406 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 décembre 2024
30 mars 2019 à 09:37
Et en complément
/* ...on effectue une boucle pour comparer les dates... */
while(strtotime($date) <= strtotime($date_fin)) {					

Pas de boucle pour faire une comparaison à proprement parler... la bonne définition serait plutôt
On boucle TANT QUE ( while veut dire tant que ) la variable $date est inférieur ou égale à la variable $date_fin
0
YameFAZE Messages postés 201 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 14 mars 2021
16 mai 2019 à 11:49
Re bonjour à tous. Un petit retour. Pour le moment je laisse ce projet de côté mais je ne l'abandonne pas. Je vais donc mettre en résolu le sujet pour ne pas le laisser ouvert indéfiniment. En attendant mon retour sur ce projet je tenais encore à vous remercier pour votre aide.
0