Forum Clubic

PHP/Mysql ajouter des jours a une date

bonjour les boss!

voila je fais un site de locations d’appart pour un projet, et l utilisateur, apres avoir preselectionne un appart doit regarder les dates de disponibilites. Jusque la tout va…
Mais pour afficher les dates dispos je dois “preselectionner toutes les dates possibles” car les locations vont du samedi au samedi et ensuiteenlever toutes celles qui sont deja occuppe.
Le probleme c que j’arrive pas a ajouter des nombres de jours a une date pour fiaire passer une semaine

$Today=date("d m y z",time()); echo("
date :".($Today["z"])); $Today['mday']=$Today['mday']+1;
voila ce que j'ai tente de faire ms ca marche pas trop bien vu qu'il prend que le premier bit cad par exemple si on est le 22 il renvoie 32 what is the matter doc?? merci d'avance et bravo pour ce site tres utile(clubic d'interet public?? lol)

Voila une solution :
[cpp]$Today = date(“d m y z” , time() + 84600 );[/cpp]

[cpp]

$semaine = date(“z”,time());

$semaine++;

echo $semaine;

[/cpp]

Euh je pense que ça cela devrait fonctionner sans soucis.

Pour rajouter des dates y’a un truc sympa c’est de passer par mktime() car, pour l’argument des jours par exemple (mais ça marche aussi avec les autres : sauf le ‘int is_dst’ bien sûr), tu n’est pas obligé de mettre un nombre compris entre 1 et 31, si jamais tu un jour de plus que le jour de fin du mois, la fonction fera la conversion et te retournera le timestamp du 1er du mois suivant.

Je m’explique :[cpp]$_30_mars_2005 = mktime(0, 0, 0, 3, 30, 2005); // Créer le timestamp du 30 mars 2005
$_30_mars_2005_plus_2_jours = mktime(0, 0, 0, 3, 30 + 2, 2005); // Créer le timestamp du 30 mars 2005 + 2 jours, soit celui du 1 avril 2005[/cpp]
Vu que tu peux faire cette addition (la soustraction est aussi possible) au sein de l’utilisation de la fonction, en remplacant le “+ 2” par un “+ $variable”, tu peux arriver à faire ce que tu souhaite (ou alors c’est que j’ai rien compris).
La fonction te retourne donc un timestamp d’une date ‘calculée’. Pour afficher la date, il faudra passer par date() en donnant ce timestamp comme second argument.

thanks a lot a tous! ouais je vias pouvoir passer mon samedi soir a programmer!
a+ les as

(et comme en général tu passe par mySQL pour traîter tes dates, t’as plus vite fait d’utiliser ADDDATE en mySQL… genre SELECT ADDDATE(CURDATE, INTERVAL 1 MONTH ) )

en SQL > ADDDATE est la fonction à utiliser :oui:

sinon en PHP il y’a mktime, mais je me suis rendus compte qu’il avait tendances à déconner dans certains cas particulier :confused:
donc pour ça, il y’a strtotime :wink:
strtotime ("+1 day") => retourne le timestamp de la date actuelle +1 jour :oui:

ouais bref, ADDDATE powa :slight_smile: