[PHP] [SQL] Opérations sur les dates

Résolu/Fermé
juloo6578 Messages postés 52 Date d'inscription vendredi 27 avril 2012 Statut Membre Dernière intervention 28 janvier 2013 - 10 mai 2012 à 19:09
tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 - 11 mai 2012 à 08:00
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

tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 219
10 mai 2012 à 20:40
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;
0
juloo6578 Messages postés 52 Date d'inscription vendredi 27 avril 2012 Statut Membre Dernière intervention 28 janvier 2013 12
10 mai 2012 à 21:03
Ok mais là c'est en seconde

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

MySQL comprendra ?
0
tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 219
11 mai 2012 à 08:00
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".
0