Bonjour, demande d'aide pour créer un script

Signaler
Messages postés
6
Date d'inscription
mercredi 25 février 2004
Statut
Membre
Dernière intervention
1 septembre 2004
-
Messages postés
21
Date d'inscription
vendredi 31 janvier 2003
Statut
Membre
Dernière intervention
12 décembre 2006
-
Bonjour, je vouidrais de l'aide, je cherche à créer un script qui permet à partir d'une base de données Mysql, d'afficher les dates d'anniversaires à venir de nos membres.

Genre: Aujourd'ui c'est l'anniversaire de......
Dans 1 jour ca sera l'anniversaire de ........

Dans n jours ca sera l'anniv de .....

Au moins 4 evenements à venir.

Merci je débute au niveau du php et mysql, de votre aide

14 réponses

Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004

Donne le nom de tes colonnes.
FlashFun 8-)
Messages postés
6
Date d'inscription
mercredi 25 février 2004
Statut
Membre
Dernière intervention
1 septembre 2004

Merci voici les noms:

Equipe, Nom, date_de_naissance, adresse, ville, code_postal.

Mais ce que je voudrais afficher c'est juste le nom et l'équipe.

Le message serait du type:

Aujourd'hui c'est l'anniversaire de"Nom", joueur de l'équipe "Equipe".

Dans X jours ca sera l'anniv de.........

Merci beaucou pour ton aide
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004

date_de_naissance est sous quel forme ?

Peux-tu changer la facon d'enregistré cette date ?

FlashFun 8-)
Messages postés
6
Date d'inscription
mercredi 25 février 2004
Statut
Membre
Dernière intervention
1 septembre 2004

date_de_naisance est sous la forme suivante:

Date_de_Naissance date Non 0000-00-00
exemple: 1980-08-16

Je crois que c'est la forme anglaise

Merci encore
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004

J'ai fini par trouver :

select Equipe,Nom, to_days(concat(year(curdate()), '-', month(date_de_naissance), '-', dayofmonth(date_de_naissance))) - to_days(curdate()) as difference
from contacts
where to_days(concat(year(curdate()), '-', month(date_de_naissance), '-', dayofmonth(date_de_naissance))) - to_days(curdate()) between 0 and 100
order by to_days(concat(year(curdate()), '-', month(date_de_naissance), '-', dayofmonth(date_de_naissance))) - to_days(curdate()) asc


A toi de gérer le résultat.

FlashFun 8-) [mailto:toujours_zen@hotmail.com :question) ]
Messages postés
6
Date d'inscription
mercredi 25 février 2004
Statut
Membre
Dernière intervention
1 septembre 2004

tu peux m'expliquer le script?

Merci
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004

Non,
c'est une requète SQL,
je l'ai adapté à ta bdd,
pour l'utiliser exécute la.

Le résultat est sur 3 colonne : Equipe, Nom, difference
Contient tous les anniversaires à partir du prochain anniversaire

FlashFun 8-) [mailto:toujours_zen@hotmail.com :question) ]
Messages postés
6
Date d'inscription
mercredi 25 février 2004
Statut
Membre
Dernière intervention
1 septembre 2004

Désolé encore mais sais-tu quel code php je dois écrire pour faire afficher les prochains anniversaires par rapport à la dte du jour et que cela se fasse automatiquement?

Merci encore
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004

Dsl, j'ai pas le temps, c'est du niveau débutant, cherche 1 peu.

FlashFun 8-) [mailto:toujours_zen@hotmail.com :question) ]
Messages postés
6
Date d'inscription
mercredi 25 février 2004
Statut
Membre
Dernière intervention
1 septembre 2004

Désolé encore mais comment je peux sauvegarder le resultat de ta requete dans une autre table pour que je puisse utiliser cette dernière pour afficher les anniversaires?

Merci
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004

C'est inutile de faire ça.

FlashFun 8-) [mailto:toujours_zen@hotmail.com :question) ]
Messages postés
21
Date d'inscription
vendredi 31 janvier 2003
Statut
Membre
Dernière intervention
12 décembre 2006

salut !

j'ai adapté la requete sql que tu as proposé à chaf007 à ma base de donnée.
elle fonctionne bien mais j'aimerai pouvoir afficher seulement un certains nombre d'anniversaires qui vont arriver et ceux quel que soit l'année, c à dire qu'en décembre ça affiche les anniversaires qui vont arriver en janvier.

les champs sont pseudo , daten (daten au format "0000-00-00").

merci pour ton aide flashfun
Messages postés
21
Date d'inscription
vendredi 31 janvier 2003
Statut
Membre
Dernière intervention
12 décembre 2006

salut

bon finalement avec un pote on a touvé plus simple et qui marche sur 1 an (par ex de sept à sept) :

select prenom, daten from personnes order by (dayofyear(daten)+(366-dayofyear(now())))%366;

daten contient la date de naissance au format 0000-00-00
Messages postés
21
Date d'inscription
vendredi 31 janvier 2003
Statut
Membre
Dernière intervention
12 décembre 2006

<code><?php
$db = mysql_connect("host", "login", "password");
mysql_select_db("nom_base", $db);
$req = mysql_query ("select pseudo, dayofmonth(datenaiss) as journ, month(datenaiss) as moisn, year(datenaiss) as anneen, year(curdate()) as curannee from bbs_users where datenaiss <> 0000-00-00 and date_add(datenaiss, interval (extract(year from curdate()) - extract(year from datenaiss)) year) >= curdate() order by dayofyear(datenaiss) asc LIMIT 5");
$rep = mysql_numrows($req);
$i=0;

echo"
5 Prochains Anniversaires :

\";
while($i!=$rep){
$pseudo = mysql_result($req,$i,\"pseudo\");
$jour = mysql_result($req,$i,\"journ\");
if ($jour < 10)
$jour = \"0\".$jour;
$mois = mysql_result($req,$i,\"moisn\");
if ($mois < 10)
$mois = \"0\".$mois;
$annee = mysql_result($req,$i,\"curannee\");
$age = $annee - mysql_result($req,$i,\"anneen\");
echo\"----
$pseudo

";
?>

Ça affiche les 5 anniversaires suivant la date actuelle dans un tableau à 2 colonnes.