Page 1 sur 1

php

Posté : 07 mai 2007, 14:22
par MANI
salut............
je veux savoir le code php qui permet de comparer la date du systeme avec
une date récupéré du base mysql...... dans le but d'afficher bonne anniversaire a l'etudiant connu par ma base.....Merci

Posté : 07 mai 2007, 14:31
par AB
Bonjour,

La fonction date() devrait te servir dans ce cas

Posté : 07 mai 2007, 14:33
par zeus
Modération :
Afin d'obtenir plus de réponses, le sujet est déplacé dans le forum "Débuter en PHP".

Merci de prendre le temps de lire les règlements
ainsi que l'intitulé de chaque forum avant de poster un nouveau sujet.


De plus, une toute petite recherche sur le forum t'aurait surement retourné la réponse

php

Posté : 07 mai 2007, 14:36
par MANI
Bonjour,

La fonction date() devrait te servir dans ce cas
je veux savoir l'opérateure qui permet de comparer deux dates ?
s.v.p

Posté : 07 mai 2007, 14:43
par zeus
donc, je recommence ...
Cherche sur le forum.

Allez, je suis magnanime ... une date, c'est un nombre de seconde depuis le début de l'air UNIX (1er janvier 1970) que l'on appelle le timestamp.
date() te retourne le timestamp de la date actuelle.

Ensuite, des fonction comme mktime() ou strtotime() permettent de récupérer le timestamp de date précise.

C'est la différence de ces timestamp qui permet de comparer des dates.

Il existe également une autre solution : depuis ta requête SQL, tu récupères le jour et le mois indépendament (MONTH() et YEAR()) et tu les compares au jour et au mois actuel. Si les 2 sont identiques, c'est que tu es le jour de l'anniversaire de ton membre

Posté : 24 juin 2009, 01:10
par el_fantome
º


même si c'est un article ancien, voila la solution pour ceux qui la cherchent:

php comparer les dates


º

Posté : 24 juin 2009, 09:56
par zeus
Si je puis me permettre, la solution que tu donnes est un peu limitée.
  • tu as écris "< ?php" et pas "<?php"
  • pourquoi comparer des chaines de caractères plutôt que des entiers (les dates sont avant tout un nombre de secondes depuis le 01/01/1970)
Voici ma correction :
<?php
// Attention, il n'y a pas d'espace entre < et ?php, mais c'est surement juste une coquille ;)

	// Récupération du timestamp actuel
	$debut = date('U');
	
	//la date du fin est stocké dans une base de données
	$datefin= $donnees['fin'];  //on extracte la date du fin depuis la bdd et on la met dans une variable $datefin
	// Construction du timestamp de la date
	$a_fin = explode("/", $datefin); //explode pour mettre la date du fin en format numerique: 12/05/2006  -> 12052006
	$fin = mktime(0,0,0,$a_fin[1], $a_fin[0], $a_fin[2]);
	
	
	// Ensuite il suffit de comparer les deux valeurs
	if ( $debut > $fin)
	{
		echo "la date de début est postérieure à la date de fin"
	}
	else
	{
		echo "la date de début est antérieure à la date de fin";
	}