est-il possible d'utiliser date_sub comme ça?date question question
$dt = date("Y-m-d h:i:s");
$query = "INSERT INTO `table` (`date`) VALUES ('DATE_SUB('$dt', INTERVAL 15 DAY)')";
$result = MYSQL_QUERY($query);
Merci
est-il possible d'utiliser date_sub comme ça?date question question
$dt = date("Y-m-d h:i:s");
$query = "INSERT INTO `table` (`date`) VALUES ('DATE_SUB('$dt', INTERVAL 15 DAY)')";
$result = MYSQL_QUERY($query);
Merci
Vous pouvez l'utiliser sur la base de données en supprimant les guillemets autour de DATE_SUB(...)
. Mais vous devriez envisager d'utiliser l'horodatage unix avec le temps() et reconvertissant à un format de date en utilisant la fonction date(), comme ceci:
$dt = date("Y-m-d h:i:s", time() - 15*24*3600); //today - 15 days
Fonctionne avec PHP 4 et PHP 5.
Je vous conseille de ne pas laisser les calculs de calendrier pour la base de données. Utilisez le code DateTime class à la place et l'extension timezonedb est mise à jour. C'est en fait une de ces choses que PHP obtient correctement. Voir aussi this post sur le blog de Derick.
doesnt datetime nécessite PHP 3.0? –
Vous probablement ment 5.3 - répondre: non, toutes les fonctionnalités nécessaires sont en 5.2 –
oh désolé je voulais dire 5.3 ok, pouvez-vous montrer un exemple de code? et si je dois le faire sur base de données? merci –
C'est faux 'DATE_SUB('$dt', INTERVAL 15 DAY)'
, c'est une chaîne. Maintenant, votre format de date est identique au format utilisé par la fonction NOW()
de MySQL.
SELECT NOW();
---------------------
|now() |
---------------------
|2010-05-15 20:42:35|
---------------------
Et comme je l'ai utilisé sans aucun problème DATE_SUB(NOW(), INTERVAL 6 MONTH);
dans un projet récent, je ne vois aucune raison pour laquelle vous ne pouviez pas l'utiliser.
SELECT DATE_SUB(NOW() , INTERVAL 6 MONTH);
-----------------------------------
|DATE_SUB(NOW(), INTERVAL 6 MONTH)|
-----------------------------------
|2009-11-15 20:49:28 |
-----------------------------------
ouais tu as raison, merci pour info –
exécutez juste cela et voir ce qui se passe. –