php

MANI
Invité n'ayant pas de compte PHPfrance

07 mai 2007, 14:22

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

ViPHP
AB
ViPHP | 5818 Messages

07 mai 2007, 14:31

Bonjour,

La fonction date() devrait te servir dans ce cas

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

07 mai 2007, 14:33

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
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

MANI
Invité n'ayant pas de compte PHPfrance

07 mai 2007, 14:36

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

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

07 mai 2007, 14:43

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
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

el_fantome
Invité n'ayant pas de compte PHPfrance

24 juin 2009, 01:10

º


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

php comparer les dates


º

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

24 juin 2009, 09:56

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";
	}
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer