IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

requête date anniversaire


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2013
    Messages : 8
    Points : 6
    Points
    6
    Par défaut requête date anniversaire
    bonjour, j'aimerai afficher les dates d'anniversaires des 30 prochains mois.
    j'ai réussi grâce à plusieurs aides mais la date affichée est en yyy-mmm-jjj.
    je ne trouve pas le code qui me permet de l'afficher en jjj-mmm-aaa-.
    voici le code :

    // Requete sql pour vérification si anniversaire J+30
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $reponce = mysql_query("SELECT * FROM galette_adherents WHERE DATE_FORMAT(ddn_adh,'%m%d') BETWEEN DATE_FORMAT(CURDATE(), '%m%d') AND DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 30 DAY), '%m%d') ORDER BY ddn_adh DESC");
    $query = "SELECT count(id_adh) from galette_adherents where ddn_adh IS NOT NULL"; $result = mysql_query($query) or die (mysql_error());
    $resultat=mysql_fetch_row($result);
    ce qui donne :
    Nom : anniversaires.JPG
Affichages : 355
Taille : 26,6 Ko

    Merci.

  2. #2
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Réponse de feignant.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    $ma_date = "1960-01-10";
    $a = explode('-',$ma_date);
    $date_formatee = $a[2].'/'.$a[1].'/'.$a[0];
    print $date_formatee;
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  3. #3
    Membre éprouvé Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 540
    Points : 1 067
    Points
    1 067
    Par défaut
    Salut,

    Vous pouvez aussi expliciter le nom des colonnes dans le SELECT (oublier donc *) et utiliser DATE_FORMAT(ddn_adh, '%d-%m-%Y') AS date_anniv
    Le bienfait n'est jamais perdu

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2013
    Messages : 8
    Points : 6
    Points
    6
    Par défaut date anniversaire
    Bonjour à tous et merci pour les réponses, malheureusement, cela ne fonctionne pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    <?php
    // Requete sql pour vérification si anniversaire J+30         
     $reponce = mysql_query("SELECT * FROM galette_adherents WHERE DATE_FORMAT(ddn_adh,'%m%d') BETWEEN DATE_FORMAT(CURDATE(), '%m%d') AND DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 30 DAY), '%m%d') ORDER BY ddn_adh DESC");
    $query = "SELECT count(id_adh) from galette_adherents where ddn_adh IS NOT NULL"; 
    $result = mysql_query($query) or die (mysql_error());
    $resultat=mysql_fetch_row($result); 
            ?>     	
               <table>		
                    <tr>       
    		<th>NOM</th>
                    <th>PRENOM</th>                   		
    		<th>ANNIVERSAIRE</th>
     
                    </tr>
                <?php
     
    		//On affiche les lignes du tableau une à une à l'aide d'une boucle
                while($donnees = mysql_fetch_array($reponce))
    			{
                  ?>
                    <tr>                   					
    		<td><?php echo $donnees['nom_adh'];?></td>
                     <td><?php echo $donnees['prenom_adh'];?></td>                    			
    		<td><?php echo $donnees['ddn_adh'];?></td>
    <?php
    lorsque je modifie " '%m%d' ", le tableau ne s'affiche plus, j'ai beau modifier mon code de toutes les manières, je ne trouve pas la solution. Merci pour tout ceux qui m'apporte leur aide et bonne journée.
    Bernard

  5. #5
    Membre à l'essai
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Juillet 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Analyste programmeur

    Informations forums :
    Inscription : Juillet 2017
    Messages : 9
    Points : 12
    Points
    12
    Par défaut
    Salut,

    Tu as deux possibilité pour réaliser ceci :
    1/ Utiliser la fonction DATE_FORMAT fourni par MySQL afin de convertir directement la date dans le bon format (cf: réponse de Willy_k ci-dessus)
    Par contre, si tu utilises la requête à d'autres endroits, ceci provoquera des erreurs à moins que tu adaptes ton code.

    2/ Utiliser les fonctions date et strtotime pour formater ta date :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
           $dateformatymd = "1989-12-28";
           $dateformatdmy = date("d-m-Y", strtotime($dateformatymd ));

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2013
    Messages : 8
    Points : 6
    Points
    6
    Par défaut date anniversaire
    merci pour votre réponse, j'ai beau essayer de l'intégrer à mon code, mais sans résultat; pourriez-vous m'aider en reprenant mon code et le modifier, j'avoue que j'ai encore beaucoup de lacunes avec php.

  7. #7
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    C'est dans la clause select qu'il faut définir le formatage du champ.
    Sinon tu peux toujours essayer ma solution en attendant.
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

Discussions similaires

  1. Requête date d'anniversaire dans un intervalle
    Par Korg_Meridian dans le forum Requêtes
    Réponses: 6
    Dernier message: 28/03/2017, 14h20
  2. Requête date mois+1
    Par SERVIROC dans le forum Langage SQL
    Réponses: 11
    Dernier message: 27/04/2010, 17h40
  3. [VBA] Requête + date pour travailler avec des recordsets
    Par snoopy69 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 14/08/2006, 15h15
  4. [SQL] Problème bizarre requête date
    Par masseur dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 17/02/2006, 13h12
  5. [requête] Date à problème
    Par uloaccess dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 03/01/2006, 17h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo