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 :

[SQL] comparer des dates ? [Fait]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 184
    Points : 77
    Points
    77
    Par défaut [SQL] comparer des dates ?
    Bonjour,

    Je souhaite faire en sorte que lorsqu'un enregistrement est intégré dans ma table mysql via php (lors de la soumission d'un formulaire), une date s'inscrive dans le champ 'date_future'. Cette date vaut la date de soumission du formulaire + 3jours. Une fois à cette date je souhaite que l'enregistrement concerné soit automatiquement modifié en conséquence.

    Existe t'il un moyen de faire tourner un script Mysql chaque jour qui va boucler sur tous les enregistrements de cette table et s'il trouve que 'date_future' vaut la date d'aujourd'hui, lance un script?

    Sinon je dois me tourner vers PHP, mais alors comment faire selon vous pour comparer 2 dates incluant l'année, le mois, le jour, et l'heure? Auriez-vous une piste?

    Merci

  2. #2
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Pour comparer deux dates, tu as deux options
    1/ SQL : tu utilises les fonctions de mysql pour comparer les dates (DATEDIFF, DATE_FORMAT pour faire des <=, DATEADD, etc.)
    http://pcaboche.developpez.com/artic...ns-date-heure/

    2/ PHP : tu récupères le champ date de ta table MYSQL.
    Tu connais son format (par défaut c'est aaaa-mm-jj hh:mm:ss) donc tu peux "découper" la chaine et récupérer l'année, le mois, le jour etc et donc faire des comparaisons avec la date du jour.
    Tu peux aussi faire pour avoir la date du jour au format de mysql et faire des comparaisons comme une string.
    Tu peux aussi utiliser strtotime() pour convertir une date recue de mysql en un temps en secondes qui sera ensuite utilisé par la fonction date() pour créer une date valide au format voulu.

    Tu as donc plusieurs possibilités simples de comparaison de dates. Par contre je ne pense pas que tu puisses faire une fonction mysql dédiée pour ca.

    Ton second problème va être de pouvoir effectuer cette verification périodiquement tous les jours et pour ca il y a pas mal de posts dans le forum qui donne des astuces.

    Bon courage!

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 184
    Points : 77
    Points
    77
    Par défaut
    Merci beaucoup!

    Je crois que je vais utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mktime(0, 0, 0, date("m") , date("d") + 3, date("Y"))
    Et pour le script lu périodiquement, j'ai entendu parler d'un cron depuis le shell.
    Je vais voir s'il y a possibilité de le lancer depuis mon hébergeur..

Discussions similaires

  1. [MySQL] Comparer des dates sql + php
    Par Jobozzo dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 28/07/2011, 18h21
  2. [Transact SQL] Comparer des intervales de dates
    Par jowsuket dans le forum Langage SQL
    Réponses: 5
    Dernier message: 21/05/2008, 11h25
  3. Comparer des dates en T-SQL
    Par AbyssoS dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 22/03/2006, 16h06
  4. [SQL2K] requête SQL, comparer des dates
    Par cortex024 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 16/03/2006, 14h32
  5. [Date] Comparer des dates au format mySQL "date
    Par Marc_P dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 25/10/2004, 15h15

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