Calculer la date d'il y a 30 jours en PHP

Calculer la date d'il y a 30 jours en PHP - PHP - Programmation

Marsh Posté le 09-12-2007 à 09:58:04    

Bonjour, je suis le webmaster d'un site de quiz et miantenant, comme chaque participation est enregistrée dans ma table statistics, j'aimerais pouvoir ressortir le COUNT du nombre de statistics enregistrées au cours des 30 derniers jours.
 
Pour ce faire, j'ai d'abord pensé à comparer mes dates. Mes dates sont comme ceci dans ma table : 2007-05-05 22:35:53 (année/mois/jour)
 
Dans mon COUNT il y aurait donc WHERE date > 2007-04-05
 
Mais voila que je me demande comment calculer -30 jours, pusique si je fais -30, on obtiendra -75 et non le mois précédent.
 
La solution la plus efficace, c'est si mes enregistreemnt seraient tous en time() du genre 1178388246, comme sa, la variable du -30 jours serait toujours fixe et simple, mais comme j'ai déja 4000 enregistrements, je ne peux pas convertir manuellement, est ce qu'un logiciel ou un systeme adapté peut le faire ?
 
Bref, quelle serait la meilleure méthode ? Existe-il un mode automatisé qui permettrait de convertir mon format de date en time() du genre 1178388246 dans tout mes enregistrements ?
 
Merci de vos conseils et aide, j'appréci énormément et bonne journée à tous! :)


---------------
www.failqc.com : FailBlog québécois
Reply

Marsh Posté le 09-12-2007 à 09:58:04   

Reply

Marsh Posté le 09-12-2007 à 12:23:55    

Dis moi, comment as tu réussi à développer un site sans être capable de trouver les choses les plus évidentes dans les doc :??:
 
http://dev.mysql.com/doc/refman/5. [...] tions.html
 
 :whistle:

Reply

Marsh Posté le 09-12-2007 à 17:22:00    

J'ai déja fait un tour sur la doc, mais jai pa spris le temps de bien l'étudier.
 
Je regarde le lien, merci bcp.


---------------
www.failqc.com : FailBlog québécois
Reply

Marsh Posté le 09-12-2007 à 17:32:50    

A bien y penser, si je peux simplifier mes requete, le serveur m'en remerciera.
 
Puis-je convertir mes formats de date dans ma table ?


---------------
www.failqc.com : FailBlog québécois
Reply

Marsh Posté le 09-12-2007 à 17:57:43    

"mysql dates fonctions" + google + 30s = http://dev.mysql.com/doc/refman/5. [...] tions.html


Message édité par Elmoricq le 09-12-2007 à 17:58:23
Reply

Marsh Posté le 09-12-2007 à 18:43:24    

Je sais bien, tu me donne la meme doc!
 
Mais je veux savoir existe t-il un script ou logiciel permettant dautomatiquement les dates d'une table sans devoir programmer le systeme moi meme ?
 
Merci.


---------------
www.failqc.com : FailBlog québécois
Reply

Marsh Posté le 09-12-2007 à 19:46:21    

Il manque un mot dans ta phrase : convertir ? calculer ?

 

edit : tes dates sont stockées en chaîne de caractères dans tes tables ? [:pingouino dei]


Message édité par Elmoricq le 09-12-2007 à 19:47:05
Reply

Marsh Posté le 09-12-2007 à 20:17:33    

En fait c'est convertir, je voudrais que toutes les dates de ma table changent de format, les calculs seraient beaucoup plus faciles.
 
Mes dates sont comme ceci dans ma table : 2007-05-05 22:35:53 (année/mois/jour) et je les voudraient en format time du genre 1178388246.
 
Un logiciel ou script existant le fait?


---------------
www.failqc.com : FailBlog québécois
Reply

Marsh Posté le 09-12-2007 à 20:27:07    

Ok, je viens de zieuter la page qu'on t'a donné leflos5 et moi. Ça m'a pris 30s pour trouver une fonction qui converti un datetime mysql en nombre de secondes depuis the epoch.

 

Je ne dirais qu'une chose : [:rtfm] (et j'ajouterais un "BOURDEL §§§" pour faire bonne mesure)


Message édité par Elmoricq le 09-12-2007 à 20:28:24
Reply

Marsh Posté le 09-12-2007 à 20:31:10    

Bonsoir,
Si les dates sont stockées au format datetime, alors il suffit d'uliliser la fonction subdate de mySQL .
Pour convertir en "time", il faut utiliser la fonction UNIX_TIMESTAMP (voir le lien précédent), mais ce n'est pas forcément un ebonne idée. En effet, tu auras des problèmes lors des changements d'heure.
 
Enfin je rejoins les précédent posteurs : RTFM !

Reply

Marsh Posté le 09-12-2007 à 20:31:10   

Reply

Marsh Posté le 09-12-2007 à 21:16:31    

Jai trouvé un moyen de le faire avec 2-3 manip, mais ma question etait, est ce quil y a un logiciel ou un script qui le fait sans ke je doive coder moi meme?
 
Je dois RTFM mais RTFQuestion! lollll
 
Merci Halike, je crois que je vais garder mon format actuel sans les - pour comparer.
 
Donc aucun logiciel ou script qui convertit ?


---------------
www.failqc.com : FailBlog québécois
Reply

Marsh Posté le 09-12-2007 à 22:44:13    

Si, STR_TO_DATE (+ UNIX_TIMESTAMP éventuellement), comme décrit dans la doc dont on t'a filé le lien. [:kiki]

 

Enfin, en admettant que tes dates soient stockées comme des chaînes de caractères, ça non plus c'est pas clair dans ta question. [:el g]

 

J'vois pas pourquoi t'aurais besoin d'un logiciel pour faire l'équivalent d'une ou deux requêtes.


Message édité par Elmoricq le 09-12-2007 à 22:53:10
Reply

Marsh Posté le 09-12-2007 à 23:06:00    

En quoi ça te dérange de garder ça comme ça? C'est bien plus simpe à traiter que de devoir systématiquement repasser par du date time ou le calculer...
 
Laisse comme ça... Et puis quand je te lis parler de logiciel permettant de modifier le type d'un attribut d'une table d'une base...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed