Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2334 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

   [php+sql] le prochain anniversaire est celui de ...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[php+sql] le prochain anniversaire est celui de ...

n°1479226
Jay-ko
Posté le 21-11-2006 à 14:02:01  profilanswer
 

Bonjour,
 
Je cherche a effectuer une requete qui viendrais afficher des entrées en fonction de là prochaine date anniversaire.
j'ai une table avec des utilisateurs, et leur date de naissance ($naissance).
je récupère la date actuel et ressort le moi et le jour avec un truc du sytle:

Code :
  1. $date_aujourdui = date("-m-d" );


Pour l'instant je sais juste afficher si $naissance est = à $date_aujoudui avec une requete de type que j'ai du mal à faire fonctionner:

Code :
  1. $req = "SELECT * FROM membre WHERE DATE_FORMAT(naissance,  '%d%m') = DATE_FORMAT(NOW(), '%d%m')"


ou $date_aujourdui est devenue DATE_FORMAT(NOW(), '%d%m'
 
Je souhaite pour afficher quelque chose du type, "le prochain anniversaire sera --> [utilisateur_lambda] le --> [date en -d-m]"
Et je ne sais pas comment m'y prendre.
Si quelqu'un à une idée je suis prenneur!


Message édité par Jay-ko le 21-11-2006 à 14:32:07
mood
Publicité
Posté le 21-11-2006 à 14:02:01  profilanswer
 

n°1479313
chepa_jeml​s
Posté le 21-11-2006 à 15:13:58  profilanswer
 

tu fais un select de toutes les dates après la date d'aujoud'hui mais tu lui signale que tu ne veux que le premier
 
tu remplace le = par > et tu ajoutes à la fin LIMIT 0 , 1 et ne pas oublier de faire un tri
 
Tu auras la 1ère date qui vient après la date actuelle
 
De cette manière je réponds à ta question, mais tu as pas pensé si y a 2 users qui ont la même date de naissance?


Message édité par chepa_jemls le 21-11-2006 à 15:15:26
n°1480822
Jay-ko
Posté le 23-11-2006 à 16:33:34  profilanswer
 

C'est bon! je difuse donc la solution:
 

Code :
  1. <?php
  2. baseop ();
  3. $req_anniv = "SELECT * FROM membres WHERE DATE_FORMAT(date_naissance,'%d%m')>DATE_FORMAT(NOW(),'%d%m') LIMIT 0,1";
  4. $anniv=mysql_query($req_anniv);
  5. while($obj_anniv= mysql_fetch_object($anniv,MYSQL_ASSOC)) {
  6.      $nom_anniv=$obj_nais->nom;
  7.  $prenom_nais=$obj_anniv->prenom;
  8.  $pseudo_nais=$obj_anniv->pseudo;
  9.  $groupe_nais=$obj_anniv->Groupe;
  10.  echo $nom_nais." ".$prenom_nais." ".$groupe_nais;
  11.  }
  12. baseclose ();
  13. footer();
  14. echo "<!-- fin mainpage -->";
  15. ?>


Message édité par Jay-ko le 23-11-2006 à 17:12:20
n°1480907
Jay-ko
Posté le 23-11-2006 à 17:36:02  profilanswer
 

Sauf que, dans l'hystérie d'avoir solutionné mon prb je n'avais pas fait attention à la page précédente.
L'utilisation du limit est bizare dans le sens où ça vient me donner une réponse du prochaine anniv... le mois dernier...
Et j'avais idée de lister les dates d'anniv iddentique avec mon while...
En mettant un "LIMIT 0,2" Hors là ça me propose un choix de dates chaotique.
?

Code :
  1. baseop ();
  2. $date_aujourdui = date("d-m-y" );
  3. echo "Nous somme le ".$date_aujourdui."<br />";
  4. $req_anniv = "SELECT * FROM membres WHERE DATE_FORMAT(date_naissance,'%d%m')>DATE_FORMAT(NOW(),'%d%m') LIMIT 0,1";
  5. $anniv=mysql_query($req_anniv);
  6. while($obj_nais= mysql_fetch_object($anniv,MYSQL_ASSOC)) {
  7.      $nom_nais=$obj_anniv->nom;
  8.  $prenom_nais=$obj_anniv->prenom;
  9.  $pseudo_nais=$obj_anniv->pseudo;
  10.  $groupe_nais=$obj_annivs->Groupe;
  11.  $naissance_nais=$obj_anniv->date_naissance;
  12.  echo "<div>Prochain anniversaire, <b>".$prenom_nais." ".$nom_nais."</b>  groupe ".$groupe_nais." né(e) le ".$naissance_nais."</div>";
  13.  }
  14. baseclose ();
 

me donne en retour:

 
Citation :


Nous somme le 23-11-06
Prochaine anniversaire, Mickael Jacskon groupe A né(e) le 1977-10-26

 


Message édité par Jay-ko le 23-11-2006 à 17:44:03

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

   [php+sql] le prochain anniversaire est celui de ...

 

Sujets relatifs
Connaitre le prochain evenement a la date la plus procheprochain numéro de l'auto increment
Bon anniversaire barrique!Bon Anniversaire Taz
Bon anniversaireMySQL changer le prochain auto increment
Bon anniversaire CherryTree[sql] connaitre la valeur du prochain index
Bon anniversaire chrisbk !@#[topic anniversaire] HBHH !
Plus de sujets relatifs à : [php+sql] le prochain anniversaire est celui de ...


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)