Ajouter nombre jour sur une date

Eléphant du PHP | 124 Messages

26 oct. 2006, 15:21

Bonjour,

Je cherche comment ajouter un nombre de jour sur une date.

J'ai trouvé la fonction SQL ADDDATE mais je ne sais pas comment l'utiliser dans une page php.

Si vous avez des docs...

Merci
Modifié en dernier par neo765 le 29 mai 2008, 23:28, modifié 1 fois.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

26 oct. 2006, 15:24

Dans la FAQ du forum, la réponse tu trouveras, dans le topic "Quelques petites manipulations avec les dates (PHP/MySQL)" :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 124 Messages

26 oct. 2006, 15:58

Merci mais ya pas pour ajouter des jours sur une date.

J'ai fais ça :
<?php
//------------------------------------------------------------------------------
// Etape 01
//------------------------------------------------------------------------------
require_once('data/connexion.php');
//------------------------------------------------------------------------------
// Etape 02
//------------------------------------------------------------------------------
session_start();
if (!isset($_SESSION['id']))
{
header(
 "Location: erreurconnection.php");
exit();
}
$id=$_SESSION['id'];
//------------------------------------------------------------------------------
// Etape 03
//------------------------------------------------------------------------------
$query_Recordset2 = "SELECT CURDATE()";
$Recordset2 = mysql_query($query_Recordset2, $conn) or die(mysql_error());
$row_Recordset2 = mysql_fetch_assoc($Recordset2);
$totalRows_Recordset2 = mysql_num_rows($Recordset2);
$datetime=$row_Recordset2['CURDATE()'];
//------------------------------------------------------------------------------
// Etape 04
//------------------------------------------------------------------------------
$maj006="ADDDATE($datetime, INTERVAL 14 DAY)";
$maj007=mysql_query ($maj006);
if (!$maj007) {
   echo "Impossible d'exécuter la requête ($maj006) dans la base : " . mysql_error();
}
//---
echo $maj007
?>
Mais il m'affiche cette erreur :
Impossible d'exécuter la requête (ADDDATE(2006-10-26, INTERVAL 14 DAY)) dans la base : You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'ADDDATE(2006-10-26, INTERVAL 14 DAY)' at line 1
Modifié en dernier par neo765 le 29 mai 2008, 23:28, modifié 1 fois.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

26 oct. 2006, 16:11

Et le topic tu liras, aurais-je sans doute du préciser ;)
4 - Obtenir une date dans le futur/le passé

avec PHP :
<?php 
$date = Array('annee'=>date('Y'), 'mois'=>date('m'), 'jour'=>date('d')); // vous pouvez aussi obtenir ce tableau avec la fonction getDate() 
$N = 31;  

// mktime fait automatiquement le calcul 
$time = mktime(00, 00, 00, $date['mois'], $date['jour']+$N, $date['annee']); 
$dansNjours = date('d/m/Y', $time); 
echo $dansNjours; 
?> 
avec MySQL :

Code : Tout sélectionner

SELECT DATE_ADD(NOW(),INTERVAL 5 DAY); # le futur SELECT DATE_SUB(NOW(), INTERVAL 5 DAY); # le passé
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...