|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() Inscription : décembre 2005 Messages : 330 ![]() |
Bonjour, c'est encore moi,
Vous avez peut-être lu mon sujet de ce matin (enfin, c'est relatif, le matin québécois Je souhaite faire un système d'archive autonome. Il liste tous les mois écoulés depuis telle date, jusqu'à aujourd'hui. Par exemple, je choisis le 1er avril 2008 : Mai 2008 - Archives Avril 2008 - Archives J'ai eu beau chercher une solution, je ne trouve pas. J'ai premièrement voulu soustraire le timestamp du premier avril 2008 à minuit à l'heure du moment, puis diviser la réponse par le nombre de secondes contenu dans un mois. Un problème : Savoir si le mois contient 28, 29, 30 ou 31 jours, bref, que de complications. Admettons que je donne comme moyenne 365/12 (~30.41 de mémoire), il faut que j'applique la fonction floor() à la réponse de l'équation précédente, pour savoir si un mois entier s'est écoulé. Si c'est le cas, je fais une boucle, et c'est ici que j'ai stoppé. Il faudrait que j'additionne le nombre de mois écoulés à la première date, vérifier s'il est plus grand que 12, si c'est le cas changer l'année, etc. Bref, vous vous rendez compte que ça serait très dûr à lire, pas clair du tout et sujet à beaucoup de bugs. Je me demandais (et j'espère ^^) s'il y a une solution plus simple à mon problème. Merci d'avance, Jihnn P.S. Désolé pour le mauvais emplacement du topic précédent, j'espère que cette fois c'est la bonne |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Inscription : janvier 2004 Messages : 1 238 ![]() |
__________________
PHP : Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production) Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error()); Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable. Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/ |
|
|
00
|
|
|
#3 | ||
|
Membre du Club
![]() Inscription : janvier 2006 Messages : 202 ![]() |
Je ne suis pas sûr de comprendre ce que tu veux faire...
Un système d'archives regroupées par mois ? Que tu consultes ensuite ? Tu veux lister les mois qui sépare la date que tu choisis et maintenant ? Bon je suis débutant alors peut être que mon script est pourri... mais je le mets quand même !!! ![]() Code :
|
||
|
|
00
|
|
|
#4 | ||
|
Membre confirmé
![]() Inscription : décembre 2005 Messages : 330 ![]() |
@Fladnag : Merci, mais mon problème ne se situait pas à ce niveau, je suis capable de créer un timestamp
@Badaboumpanpan : Je ne cherche pas un script déjà fait (premièrement parce que je déteste recopier bêtement le travail des autres, deuxièmement parce que je monte mon site pour programmer Voici mon code pour ceux que ça intéresse : Code :
|
||
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() ![]() Inscription : janvier 2004 Messages : 1 238 ![]() |
avec strtotime, tu n'as pas besoin de réflechir aux changement d'années, aux moins de 29, 30 ou 31 jour, il gere tout ca tout seul
Tu prend une date correspondant au 1er du mois courant et tu fait "+1 months" ou "-1 months" pour générer le timestamp souhaité. Quand tu veux t'arreter, tu récupere le numéro du mois du timestamp généré (avec date()) et tu le compare a ta valeur d'arret. Pour générer le 1er du mois courant, utilise mktime Sinon, si tu n'aime pas strtotime, tu peux tout générer avec mktime en incrémentant le numero du mois (il "normalise" aussi tout seul, ca marche si tu lui donne 578 en numero de mois, il va comprendre +2 mois +48 années ^^)
__________________
PHP : Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production) Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error()); Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable. Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com