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

Requêtes MySQL Discussion :

Requête anniversaire sur 30 jours


Sujet :

Requêtes MySQL

  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 anniversaire sur 30 jours
    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 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // 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);
    ce qui donne :
    Nom : anniversaires.JPG
Affichages : 260
Taille : 26,6 Ko

    Merci.

  2. #2
    Membre émérite
    Homme Profil pro
    tripatouilleur de code pour améliorer mon quotidien boulistique
    Inscrit en
    Février 2008
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : tripatouilleur de code pour améliorer mon quotidien boulistique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2008
    Messages : 939
    Points : 2 287
    Points
    2 287
    Par défaut
    Bonjour

    Ne s'agit-il pas plutôt d'un problème php?

    Pierre

  3. #3
    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
    Oui, effectivement, j'ai d’ailleurs posté ce sujet dans le forum dédié à PHP.

  4. #4
    Membre averti Avatar de ddaweb
    Homme Profil pro
    Webmaster amateur
    Inscrit en
    Janvier 2013
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

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

    Informations forums :
    Inscription : Janvier 2013
    Messages : 329
    Points : 430
    Points
    430
    Par défaut
    Pour traduire la date si tu as également besoin de la date de la DB en php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $date_fr=date("d-m-Y", strtotime($date_gb));
    Il me semble que tu peux également le faire dans ta requête.

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 719
    Points
    52 719
    Billets dans le blog
    5
    Par défaut
    De toutes les façons votre requête est fausse car elle ne produira aucun résultat le jour ou vous la lancerez un 31 décembre...

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #6
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut à tous.

    Citation Envoyé par bernard.hericher
    je ne trouve pas le code qui me permet de l'afficher en jjj-mmm-aaa-.
    Mais c'est quoi ce format ? Nous sommes en France. Le format d'une date est : "AAAA-MM-JJ" !

    Quel est le type de votre colonne "ddn_adh" ?
    De toute évidence, elle n'est pas dans le type "date".
    A priori, vous avez utilisez le type "char", voire "varchar", ce qui est une connerie !

    Commencez par modifier votre colonne "ddn_adh" pour y placer le type "date".

    Quel est le format que vous utilisez actuellement ? Est-ce "JJ/MM/AAAA" ?
    Si c'est cela, il suffit d'utiliser la fonction suivante : "str_to_date(ddn_adh, '%d/%m/%Y')".
    Cela va transformer votre chaine de caractères au format "JJ/MM/AAAA" dans le type date qui sera au format "AAAA-MM-JJ".

    Citation Envoyé par bernard.hericher
    j'aimerai afficher les dates d'anniversaires des 30 prochains mois.
    Votre demande n'est pas en conformité avec votre requête.
    Vous vouliez dire : "j'aimerai afficher les dates anniversaires du mois courant" !
    Si vous désirez afficher les dates anniversaires, normalement elles sont stockées dans votre table.
    La requête est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select *
    from galette_adherents
    where ddn_adh  between  date_format(curent_date, '%Y-%m-01')  and  last_date(current_date)
    order by ddh_adh desc;
    Mais au préalable, votre colonne doit être dans le type "date", sinon cela ne va pas fonctionner.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

Discussions similaires

  1. Requête basée sur la date du jour
    Par evevev dans le forum Débuter
    Réponses: 7
    Dernier message: 20/03/2013, 16h53
  2. Requête DateTime sur une semaine groupée par jour et par heure
    Par cerealkiller dans le forum Langage SQL
    Réponses: 1
    Dernier message: 10/08/2011, 15h54
  3. Requête pour les rappel sur 5 jour
    Par Mbrillon dans le forum Oracle
    Réponses: 16
    Dernier message: 06/05/2007, 14h01
  4. Requête complexe sur plusieurs table
    Par DenPro dans le forum Langage SQL
    Réponses: 13
    Dernier message: 25/11/2003, 17h50
  5. A propos d'une requête SQL sur plusieurs tables...
    Par ylebihan dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/09/2003, 16h26

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