Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/06/2007, 16h31   #1
Membre du Club
 
Inscription : septembre 2006
Messages : 184
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 184
Points : 43
Points : 43
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
taffMan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2007, 16h37   #2
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
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!
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2007, 10h00   #3
Membre du Club
 
Inscription : septembre 2006
Messages : 184
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 184
Points : 43
Points : 43
Merci beaucoup!

Je crois que je vais utiliser
Code :
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..
taffMan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h03.


 
 
 
 
Partenaires

Hébergement Web