Accueil > > > LISTE DES ANNIVERSAIRES POUR LES N PROCHAINS JOURS, DANS L'ORDRE D'ARRIVEES (PHP+MYSQL)
LISTE DES ANNIVERSAIRES POUR LES N PROCHAINS JOURS, DANS L'ORDRE D'ARRIVEES (PHP+MYSQL)
Information sur la source
Description
Un bon exemple vaut mieux qu'un long discours (ici N=50 et nous sommes le 8/11/85) : Le script affichera : Emmanuelle aura 23 ans dans 10 jours (le 18 Nov.) Fanny aura 16 ans dans 13 jours (le 21 Nov.) Harold aura 14 ans dans 21 jours (le 29 Nov.) Elisa aura 22 ans dans 29 jours (le 7 Dec.) Arnaud aura 8 ans dans 32 jours (le 10 Dec.) Agnès aura 48 ans dans 34 jours (le 12 Dec.) Romain aura 21 ans dans 46 jours (le 5 Jan.) Jean-Marc aura 43 ans dans 47 jours (le 6 Jan.) La table doit contenir un/des champ nom/prénom et un champ date de naissance
Source
- /* Script by mOut - http://mout.fr/
-
- $CONFIG['hostname'] = "localhost"; //mettez les paramètres de votre base
- $CONFIG['database'] = "nomdemabase"; //la meme chose que username pour free
- $CONFIG['username'] = "monlogin";
- $CONFIG['password'] = "monpassword";
- $CONFIG['table'] = "matable";
- $n = 50; //nombre de jours de prévision
-
-
- $sql = mysql_connect($CONFIG['hostname'], $CONFIG['username'], $CONFIG['password']) or die(mysql_error());
- mysql_select_db($CONFIG['database'], $sql);
- $result = mysql_query("SELECT
- prenom,
- nom,
- DATE_FORMAT(date, '%e %b.') AS datef,
- (YEAR(CURRENT_DATE)-YEAR(date)) - (RIGHT(CURRENT_DATE,5)<=RIGHT(date,5)) +1 AS age,
- TO_DAYS(CONCAT(LEFT(CURRENT_DATE,5), RIGHT(date, 5))) - TO_DAYS(CURRENT_DATE) AS diff,
- DATE_FORMAT(CONCAT('31-12-',YEAR(CURRENT_DATE)), '%j') AS nbj
-
- FROM ".$CONFIG['table']) or die(mysql_error());
-
- $i=0;
- while($row = mysql_fetch_array($result)){
- if($row['diff']<0) $row['diff'] = $row['diff'] + $row['nbj'];
- if($row['diff']<$n){
- $tab[$i][0] = $row['diff'];
- $tab[$i]['nom'] = $row['prenom'];
- $tab[$i]['age'] = $row['age'];
- $tab[$i]['dans'] = $row['diff'];
- $tab[$i]['date'] = $row['datef'];
- }
- $i++;
- }
- //tri sur $tab[][0] :
- sort($tab);
-
- //tout est proprement rangé dans $tab maintenant
-
- //formatage à votre guise (ex: si 0 jours mettre en rouge :))) :
- foreach($tab as $ligne) echo "<b>".$ligne['nom']."</b> aura ".$ligne['age']." ans dans ".$ligne['dans']." jours (le <b>".$ligne['date']."</b>)<br />";
/* Script by mOut - http://mout.fr/
$CONFIG['hostname'] = "localhost"; //mettez les paramètres de votre base
$CONFIG['database'] = "nomdemabase"; //la meme chose que username pour free
$CONFIG['username'] = "monlogin";
$CONFIG['password'] = "monpassword";
$CONFIG['table'] = "matable";
$n = 50; //nombre de jours de prévision
$sql = mysql_connect($CONFIG['hostname'], $CONFIG['username'], $CONFIG['password']) or die(mysql_error());
mysql_select_db($CONFIG['database'], $sql);
$result = mysql_query("SELECT
prenom,
nom,
DATE_FORMAT(date, '%e %b.') AS datef,
(YEAR(CURRENT_DATE)-YEAR(date)) - (RIGHT(CURRENT_DATE,5)<=RIGHT(date,5)) +1 AS age,
TO_DAYS(CONCAT(LEFT(CURRENT_DATE,5), RIGHT(date, 5))) - TO_DAYS(CURRENT_DATE) AS diff,
DATE_FORMAT(CONCAT('31-12-',YEAR(CURRENT_DATE)), '%j') AS nbj
FROM ".$CONFIG['table']) or die(mysql_error());
$i=0;
while($row = mysql_fetch_array($result)){
if($row['diff']<0) $row['diff'] = $row['diff'] + $row['nbj'];
if($row['diff']<$n){
$tab[$i][0] = $row['diff'];
$tab[$i]['nom'] = $row['prenom'];
$tab[$i]['age'] = $row['age'];
$tab[$i]['dans'] = $row['diff'];
$tab[$i]['date'] = $row['datef'];
}
$i++;
}
//tri sur $tab[][0] :
sort($tab);
//tout est proprement rangé dans $tab maintenant
//formatage à votre guise (ex: si 0 jours mettre en rouge :))) :
foreach($tab as $ligne) echo "<b>".$ligne['nom']."</b> aura ".$ligne['age']." ans dans ".$ligne['dans']." jours (le <b>".$ligne['date']."</b>)<br />";
Conclusion
- Ici je considère qu'il y a un champ "prenom", un champ "nom" et un champ "date" de type DATE, mais vous pouvez adapter le code a votre guise...
- 'nbj' renvoie 365 ou 366 selon l'année
- vous pouvez changer le format dans DATE_FORMAT() (cf. www.mysql.com)
Historique
- 08 novembre 2004 14:31:20 :
- Niveau initié -> expert
- 08 novembre 2004 18:32:52 :
- expert -> initié
(LOL)
catégorie -> date/heure
- 11 décembre 2006 15:27:31 :
- antispam
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
±Joyeux Anniversaire Nix± [ par k@se ]
Bah simplement pour te souhaité un joyeux Anniversaire..Merci de proposé tous ces outils aux dévelloppeurs ...k@se <img src=/imgs2/smile_big.gif bord
Zone de liste [ par Joez ]
voila j'ai une table MysqlNumNomPrenomcomment remplir une zone de liste sur une page php ?Cette liste doit contenir le nom et le prenom sur la meme li
liste deroulante liées entre elle [ par jodenki ]
J'aimerais lier deux liste déroulantes entre elle :C'est à dire que quand je selectionne un element dans la première, la deuxième soit automatiquement
Liste déroulante lié a une base MySQL [ par pi0up51 ]
Je sais faire ça en asp mais pas en php, ça doit pas être bien compliqué mais si qqn peut m'aider ;)@tte et bonn' prog'pi0up51http://www.progotop.ht.s
zone de liste dynamique [ par pheno ]
est ce que qqun sait comment on fait pour mettre dans une zone de liste le contenu d un champ d une base de donnee mysql ????ce que j ai fait <sel
liste deroulante liée [ par pheno ]
bonjour comment est ce k on peut faire pour lier 2 zone entre elles ????Merci d avanceChevalier Pheno Starboard, membre de la Freeman-Corp
prob avec des listes deroulantes [ par toto99 ]
voila mon prob est le suivante:-------------------------------------------j'ai une premiere liste deroulante qui ce remplit directement par raport a m
boucle [ par toto99 ]
voila je recupe des dates dans une liste deroulante suvant un choix qui ce trouve dans une autre liste deroulante, tous les deux sont alimenter par un
J'ai du mal j'ai besoin d'aide [ par satanik_mike ]
Bonjour, je viens vous demander de l'aide car je bloque sur un truc qui paraît bête mais qui me fait c..... En fait mon problème se pose sur une page
Boite à liste conditionnée par une autre boite [ par olive59 ]
Source en PHP avec base MySqlJ'alimente une boite à liste avec une base MySQL. Jusque là, tout va bien! (Par un SELECT * FROM ...)J'aimerais pouvoir a
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
SYSTEME D'AMISYSTEME D'AMI par moza2409
Cliquez pour lire la suite par moza2409
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|