2012-02-15 4 views
1

Je crée mon blog d'entreprise et je voudrais savoir comment créer une page d'archive où le lecteur peut cliquer sur le mois/année et afficher tous les articles de blog pour cette période.Comment créer une liste d'archives en php?

Je le vois très souvent sur les blogs ces jours-ci et j'aimerais savoir comment je peux le créer moi-même.

Il ressemblera à quelque chose comme ceci:

  • Juillet 2012
  • Juin 2012
  • Mars 2012

Il est évident que je ne voudrais la liste créée dynamiquement par référence au champ de temps dans mon table de blog, mais par où commencer?

Existe-t-il de la documentation sur la façon de l'implémenter? Je crée mon propre blog de A à Z.

+3

Utilisez-vous un logiciel de blog, comme WordPress, ou créez-vous votre propre logiciel de blog? – crush

+0

créer le blog à partir de zéro – hairynuggets

Répondre

2

Si vous utilisez une base de données, vous pouvez simplement utiliser les horodatages pour regrouper les articles en fonction de la date.

Si vous n'utilisez pas une base de données, vous pouvez utiliser le système de fichiers, et placer chaque article dans une structure pertinente:

/articles/2011/July/article_name_here.html

0

Il y a plusieurs façons d'aborder cela. Le moyen le plus simple que je peux penser est que vous créez un lien pour chaque mois qui vous amène à une page html avec tous les messages de ce mois. (Il faut le faire manuellement tous les mois).

Une autre façon est de le faire avec MySQL et de rendre tout le processus dynamique et automatique. Chaque fois que votre message est envoyé, un lien de référence est enregistré dans la base de données pour chaque mois.

Ensuite, vous pouvez répercuter les mois de votre base de données et leur donner un lien vers un fichier php ou votre langue pour faire écho le message uniquement à partir de ce mois. Vous aurez également besoin de passer des variables. lien Vous serait quelque chose comme ça

index.php?month=september2012 

J'ai ce système dans le site. Il y a aussi quelques façons .. comme le style CMS en enregistrant votre fichier texte .. mais je n'ai pas essayé donc je ne peux pas vous aider.

J'espère que vous avez eu au moins une idée de la façon dont cela pourrait être fait.

+0

Voici un excellent moyen de vous faire une recherche par date http://stackoverflow.com/questions/271595/getting-dates-between-a-range-of-dates – Alexander

1

Étant donné que vous avez mentionné pas cadre/CMS spécifique, je vais vous présenter l'idée générale que je prendrais:

obtenir la liste des mois pour rendre

SELECT Month(`date`), Year(`date`) FROM articles GROUP BY Month(`date`), Year(`date`) 

liste render d'une rticles durée

SELECT * FROM articles WHERE Date(`date`) = foo, Year(`date`) = bar 

de temps donné le reste est juste se rendre, trop en fonction de votre implémentation actuelle, mais cela devrait vous donner un moyen de partir.