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 :

Afficher un événement en fonction de la date


Sujet :

Requêtes MySQL

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Concepteur CAO/DAO
    Inscrit en
    Octobre 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Concepteur CAO/DAO

    Informations forums :
    Inscription : Octobre 2014
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Afficher un événement en fonction de la date
    Bonjour à toutes et à tous,

    Après avoir pas mal planché sur un petit problème, je viens quémander un petit peu d'aide

    Explication :

    Sur un de mes sites, les membres peuvent poster différents événement tout en précisant la date. Jusqu'à présent, la date était un simple renseignement que le membre remplissait et s'ajoutait dans ma base mais en tant que "TEXT". Donc pas de DATETIME.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <input type="text" size="2" name="jour" value="<?php echo $jour; ?>" />
    <input type="text" size="2" name="mois" value="<?php echo $mois; ?>" />
    Les événements sont alors affichés sur le site de façon toute bête.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $jour = nl2br(htmlentities(stripslashes($donnees['jour'])));
    echo $jour;
    ?>/<?php
    $mois = nl2br(htmlentities(stripslashes($donnees['mois'])));
    echo $mois;
    Et la sélection sur ma base de donnée était tout aussi simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ('SELECT * FROM evenement ORDER BY mois DESC ,date DESC LIMIT 0, 20');
    Mon problème vient du fait que je souhaite un peu changer le principe et afficher seulement les événement de la date actuelle. En gros ne sélectionner que les événements de la date "today".
    J'ai donc réussi à faire cela de façon manuel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ('SELECT * FROM evenement WHERE jour = 24 AND mois = 10 ');
    Evidemment je souhaite ne pas avoir à faire ça tous les jours mais que cela soit automatisé. Ma question est donc de savoir si je dois revoir entièrement mon formulaire en intégrant un DATETIME cette fois-ci, ou si il existe une solution plus simple.
    J'avais comme idée par exemple d'exploiter les informations obtenues par un getdate(), mais je bloque.

    J'en convient que la méthode est plutôt barbare, je reste encore un peu novice en comparaison à certain.
    En vous remerciant d'avance pour vos réponses, je vous tiendrai informé de l'avancement.

  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
    Bonsoir

    Sans doute que de passer par une table intégrant un DateTime serait le plus approprié.

    Mais peut-être est-il possible de contourner le problème?

    Passre par des reuquêtes préparées en php, en passant comme argument $donnees['jour'] et $donnees['mois], et en faisant les bonnes comparaisons ca devrait marcher.

    Voir la fonction Date de php, et son formatage.

    Pierre

  3. #3
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Vous pouvez aussi faire comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT * 
    FROM evenement 
    WHERE 
              jour = DAY(CURRENT_TIMESTAMP)
        AND mois = MONTH(CURRENT_TIMESTAMP)

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/04/2012, 17h27
  2. [MySQL] Afficher enregistrement dynamiquement en fonction de la date du jour
    Par Cedrinho dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 17/08/2010, 06h56
  3. [Dates] Afficher une adresse en fonction de la date
    Par jbtz64 dans le forum Langage
    Réponses: 5
    Dernier message: 28/05/2008, 22h29
  4. afficher le jour en fonction d'une date
    Par oceane751 dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 05/03/2006, 22h20
  5. Affichage d'évènements en fonction de leur date ?
    Par swirtel dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/05/2005, 10h30

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