OVH Cloud OVH Cloud

travail sur Date

6 réponses
Avatar
JB
Bjr,

je dois modifier des date sous la forme m-1, m-2 etc..
pour faire des requettes MYSQL.

J'arrive à le faire facilement avec ces lignes de code mais j'ai des pbs
lorsque je change d'année.
Si vous avez des idées merci

$Date30 =date(Y)."-".(date(m)-1)."-".date(d); // Somme du a echeance + 1
mois
$Req30 = "Select SUM(fact_soldedu) As 'total' From clubs_fact where
fact_echeance <'$Date30'";
$Res30 = MySQL_Query($Req30,$connexion);
$Rs30 = MySQL_Fetch_array($Res30);
$Eche30 = $Rs30['total']

6 réponses

Avatar
dwojylac-nospam
JB wrote:

Bjr,

je dois modifier des date sous la forme m-1, m-2 etc..
pour faire des requettes MYSQL.

J'arrive à le faire facilement avec ces lignes de code mais j'ai des pbs
lorsque je change d'année.
Si vous avez des idées merci

$Date30 Úte(Y)."-".(date(m)-1)."-".date(d); // Somme du a echeance + 1
mois
$Req30 = "Select SUM(fact_soldedu) As 'total' From clubs_fact where
fact_echeance <'$Date30'";
$Res30 = MySQL_Query($Req30,$connexion);
$Rs30 = MySQL_Fetch_array($Res30);
$Eche30 = $Rs30['total']


et
// transformer d'abord en timestamp
$Date30 = mktime(0,0,0,date(m)-1,date(d),date(Y));
// puis formater le timestamp
$Date30 = date("Y-m-d",$Date30);

--
Dominique
http://wojylac.free.fr

Avatar
loufoque
Dominique Wojylac wrote:

// transformer d'abord en timestamp
$Date30 = mktime(0,0,0,date(m)-1,date(d),date(Y));


Il risque d'y avoir un problème si m<=1
Bref, cette méthode n'apporte rien.

Le plus simple serait d'utiliser strtotime()
$Date30 = date('Y-md-d', strtotime('+1 month', time()));

J'ai mis time() parce que je comprends pas vraiment le date(Y) etc.
Je suppose qu'il s'agit en fait de la chaîne "Y" (puisque PHP remplace
les constantes indéfinies par une chaîne contenant leur nom, en générant
un notice que beaucoup de gens n'affichent pas)

Avatar
dwojylac.nospam
loufoque wrote:


J'ai mis time() parce que je comprends pas vraiment le date(Y) etc.
Je suppose qu'il s'agit en fait de la chaîne "Y" (puisque PHP remplace
les constantes indéfinies par une chaîne contenant leur nom, en générant
un notice que beaucoup de gens n'affichent pas)


voir pour date
http://www.nexen.net/docs/php/annotee/function.date.php

et pour mktime
http://www.nexen.net/docs/php/annotee/function.mktime.php

et des exemples sur
http://wojylac.free.fr/php/index.html

--
Dominique

Avatar
John Gallet
Si vous avez des idées merci


Il est beaucoup plus simple d'utiliser les fonctions de gestion de dates
du SGBDR que de les tripoter dans le langage du client. C'est valable
pour tous els clients et tous les SGBDR que je connaisse.

Cf les fonctions mysql DATE_ADD et DATE_SUB, dans le manuel de Mysql
(www.mysql.com) ainsi que fr.comp.applications.sgbd

a++
JG

Avatar
luc
Si vous avez des idées merci



Il est beaucoup plus simple d'utiliser les fonctions de gestion de dates
du SGBDR que de les tripoter dans le langage du client. C'est valable
pour tous els clients et tous les SGBDR que je connaisse.

Cf les fonctions mysql DATE_ADD et DATE_SUB, dans le manuel de Mysql
(www.mysql.com) ainsi que fr.comp.applications.sgbd

a++
JG


Voici le lien dont je me sert au moin 15 fois par jour : ) pour moi
c'est une bible : )
http://sqlpro.developpez.com/indexSQL.html

tous tous tous sur la gestion des dates en sql
http://sqlpro.developpez.com/Planning/SQL_PLN.html

Avec ca plus aucune question au sujet des dates ne te sera obscure ; )

@+
Luc


Avatar
loufoque
Dominique Wojylac wrote:
voir pour date
http://www.nexen.net/docs/php/annotee/function.date.php

et pour mktime
http://www.nexen.net/docs/php/annotee/function.mktime.php

et des exemples sur
http://wojylac.free.fr/php/index.html


Non mais merci, je connais déjà ces fonctions...
Ce que je comprenais pas, c'était que date(Y) n'a aucun sens si la
constante Y n'existe pas, et je suppose qu'en fait ce qu'il voulait
faire c'était date('Y').