Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1065 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Creation module [archives] trie par annees / mois

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Creation module [archives] trie par annees / mois

n°1581715
Ho_Zyris
N'attendez pas la chance...
Posté le 03-07-2007 à 00:00:38  profilanswer
 

Bonjour,
je souhaite faire un module [archives] sur mon blog qui me permettrait de n'afficher que les posts du mois selectionne.
Je voudrais suivant le format suivant :
 
http://www.slb-life.com/img/archives.JPG
 
J'ai trouve cet exemple sur blogspot, mais je pense qu'il en existe des centaines.
Merci de votre aide. Seb.


---------------
Ho_Zyris - www.slb-life.com
mood
Publicité
Posté le 03-07-2007 à 00:00:38  profilanswer
 

n°1581720
naceroth
Posté le 03-07-2007 à 00:12:09  profilanswer
 

Ho_Zyris a écrit :

Bonjour,
je souhaite faire un module [archives] sur mon blog qui me permettrait de n'afficher que les posts du mois selectionne.


 
Et bien vas-y.
 
(bah oui, y a pas de questions, de code, même rien sur la structure de ton blog pour le cas où tu voudrais juste des suggestions, je vois pas ce qu'on peut faire avec autant d'informations, à part te dire Bonne chance :D)

n°1581726
Ho_Zyris
N'attendez pas la chance...
Posté le 03-07-2007 à 01:17:51  profilanswer
 

Oui desole, c'est parce que je cherche des infos plutot generale sur comment m'y prendre.
Ma table a la structure suivante:
 

Code :
  1. intIdx, strDate, strLieu, strData


 
intIdx = index,
strDate = date au format 0000/00/00 00:00
 
Ce que je souhaite faire, c'est d'analyser ma bdd et d'en sortir comme l'exemple le montre la liste des mois faisant un lien vers la meme page (index.php) en n'affichant que les posts du mois selectionne. Appliquer un filtre avec une variable date. Pour le moment j'utilise une fonction type "suivant" / "precedent" qui compte le nombre de post et affiche le nombre de page - aucun moyen de revenir rapidement en arriere a un mois precis. Je renomme l'url pour changer de page et aller au posts precedents.
 
La ou je bloque c'est comment extraire le mois en question et l'afficher en tant que lien, puis passer au suivant et ainsi de suite...
 
Pour info le code que j'utilise pour afficher mes posts, je ne suis pas certain que cela aidera... merci quand meme.
 

Code :
  1. <?php
  2. $nbParPage = 8;
  3. $req1=mysql_query("SELECT * FROM AMSUD" );
  4. $nbNews=mysql_numrows($req1);
  5. $moy= ceil($nbNews/$nbParPage);
  6. if ($moy>=2)
  7. {
  8. if (isset($_GET['page']))
  9. {
  10. if ($_GET['page']==1)
  11. {
  12. echo "<font class=linkp>Precedent - </font>";
  13. }
  14. else
  15. {
  16. echo "<a class=linkpb href=\"index.php?page=".($_GET['page']-1)."\">Precedent</a><font class=linkp> - </font>";
  17. }
  18. }
  19. else
  20. {
  21. echo "<font class=linkp>Precedent - </font>";
  22. }
  23. }
  24. if ($moy>=2)
  25. {
  26. if (isset($_GET['page']))
  27. {
  28. if ($_GET['page']==$moy)
  29. {
  30. echo "<font class=linkp>Suivant<font>";
  31. }
  32. else
  33. {
  34. echo "<a class=linkpb href=\"index.php?page=".($_GET['page']+1)."\">Suivant</a>";
  35. }
  36. echo '<font class=linkp face="arial" size="2"> - Page '.$_GET['page'].' de </font>';
  37. echo '<font class=linkp>'.$moy.'</font>';
  38. echo '<br/><br/>';
  39. }
  40. else
  41. {
  42. echo "<a class=linkpb href=\"index.php?page=1\">Suivant</a>";
  43. }
  44. }
  45. $query="SELECT COUNT(*) FROM AMSUD";
  46. $result=mysql_query($query);
  47. if(mysql_num_rows($result)>0) { $row=mysql_fetch_row($result);
  48. $nbposts=$row[0]; } else $nbposts=0;
  49. $page=$_GET['page'];
  50. if
  51. (
  52. !isset($page)) $page=1;
  53. $idx=($page-1)*$nbParPage;
  54. $query="SELECT intIdx, strDate, strLieu, strData FROM AMSUD ORDER BY intIdx DESC LIMIT $idx, $nbParPage";
  55. $result=mysql_query($query);
  56. while($row=mysql_fetch_row($result))
  57. {
  58. echo "<li><b><font color='#CC0000' face=Verdana size=2>$row[1]</font>&nbsp;
  59. <font color='#61718A' face=Verdana size=2>$row[2]</font></b>&nbsp;&nbsp;
  60. <font face=Verdana size=2><a class=linkb href='#haut' title='haut de page'>^</a><hr align=left width=400 size=1><br>$row[3]</font>
  61. <br><br>";
  62. $query="SELECT COUNT(*) FROM AMSUD_COMMENTS WHERE intIdxA=$row[0]";
  63. $resultc=mysql_query($query);
  64. if(mysql_num_rows($resultc)>0)
  65. {
  66. $rowc=mysql_fetch_row($resultc);
  67. $nbcomments=$rowc[0];
  68. }
  69. else $nbcomments=0;
  70. echo "<a class=linkb href='#' onclick='sViewComments($row[0]);
  71. return false'>commentaires ($nbcomments)</a></li><br><br>";
  72. }
  73. if ($moy>=2)
  74. {
  75. if (isset($_GET['page']))
  76. {
  77. if ($_GET['page']==1)
  78. {
  79. echo "<font class=linkp>Precedent - </font>";
  80. }
  81. else
  82. {
  83. echo "<a class=linkpb href=\"index.php?page=".($_GET['page']-1)."\">Precedent</a><font class=linkp> - </font>";
  84. }
  85. }
  86. else
  87. {
  88. echo "<font class=linkp>Precedent - </font>";
  89. }
  90. }
  91. if ($moy>=2)
  92. {
  93. if (isset($_GET['page']))
  94. {
  95. if ($_GET['page']==$moy)
  96. {
  97. echo "<font class=linkp>Suivant<font>";
  98. }
  99. else
  100. {
  101. echo "<a class=linkpb href=\"index.php?page=".($_GET['page']+1)."\">Suivant</a>";
  102. }
  103. echo '<font class=linkp face="arial" size="2"> - Page '.$_GET['page'].' de </font>';
  104. echo '<font class=linkp>'.$moy.'</font>';
  105. echo '<br/><br/>';
  106. }
  107. else
  108. {
  109. echo "<a class=linkpb href=\"index.php?page=1\">Suivant</a>";
  110. }
  111. }
  112. ?>

n°1582021
naceroth
Posté le 03-07-2007 à 16:46:24  profilanswer
 

Ho_Zyris a écrit :


La ou je bloque c'est comment extraire le mois en question et l'afficher en tant que lien, puis passer au suivant et ainsi de suite...


 
- Si strDate est une chaine de caractères pas un champs datetime, voir SUBSTRING dans MySQL, mais tu mériterais des baffes.
- Bon, sinon, passage dans la doc de MySQL sur les mots-clé YEAR() et MONTH().
- Tu fais une requête qui va compter les articles en les regroupant par année puis par mois
- Tu affiches le tout, en ajoutant deux paramètres (basés sur YEAR() et MONTH() donc), style

Code :
  1. <a href="index.php?m=1&y=2007">Janvier</a>


- Tu n'as plus qu'à vérifier dans ta page index.php si les deux paramètres sont définis dans $_GET. Si oui, tu modifies un peu ta requête actuelle pour les ajouter dans une clause where, sinon, bah, tu changes rien :D
 
En gros.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Creation module [archives] trie par annees / mois

 

Sujets relatifs
Module récent de gestion de newsVista : création automatique d'un dossier compressé
Recherche d'un associé pour la création d'une entrepriseCreation d'un site (point de depart: zero)
Creation Autorun / Effectuer deux actionsCreation d'une arborescence depuis un nom de fichier concatené
[VBA sous Access] Protection moduleimport module as name
création formulaire par programmation en VBScript/HTA 
Plus de sujets relatifs à : Creation module [archives] trie par annees / mois


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR