[PHP] [SQL] Opérations sur les dates [Résolu/Fermé]

Signaler
Messages postés
52
Date d'inscription
vendredi 27 avril 2012
Statut
Membre
Dernière intervention
28 janvier 2013
-
Messages postés
1292
Date d'inscription
mardi 24 janvier 2012
Statut
Membre
Dernière intervention
26 octobre 2014
-
Bonjour,

Dans mon script j'ai besoin de faire une opération sur les dates et les insérés dans une bdd mysql.

Il y a 2 colonnes : 'date_on' et 'date_stop'

Ma requête sql :

mysql_query("INSERT INTO donateur(date_on, date_stop) VALUES(CURDATE(), ici)")

J'aimerais remplacer 'ici' par quelque chose qui serais 1 mois après CURDATE()
(genre CURDATE()+1)


Merci.


2 réponses

Messages postés
1292
Date d'inscription
mardi 24 janvier 2012
Statut
Membre
Dernière intervention
26 octobre 2014
224
Salut,

Le plus simple serait d'enregistrer la date au format timestamp (time())
puis d'ajouter un mois sur ce timestamp.

$timestamp = time();
$unmois = 60*60*720;//60 secondes*60 minutes*(24 heures*30 jours)
$unmoisapres = $timestamp+$unmois;
Messages postés
52
Date d'inscription
vendredi 27 avril 2012
Statut
Membre
Dernière intervention
28 janvier 2013
11
Ok mais là c'est en seconde

mysql_query("INSERT INTO donateur(date_on, date_stop) VALUES(CURDATE(), ".$unmoisapres.")")

MySQL comprendra ?
Messages postés
1292
Date d'inscription
mardi 24 janvier 2012
Statut
Membre
Dernière intervention
26 octobre 2014
224
Effectivement, je n'ai pas fait attention à l'utilisation de CURDATE() qui retourne la date courante au format AAAA-MM-JJ. Dans ce cas et si je ne me plante pas, il faut convertir la date du champ "date_on" en timestamp avec la fonction "mktime()" pour y ajouter 1 mois et reconvertir le tout au format AAAA-MM-JJ pour l'insérer dans le champ "date_stop".