Blog sistemleri bu nasıl yapabilirim?

2 Cevap php

Ben bu yüzden bir blog sadece ben mümkün olduğunca bu blog kadar güzel yapmak istiyorum, bu nedenle her kullanıcının bir blog olabilir, bir kullanıcı için sitenin widget söyleyebiliriz bir sosyal ağ var. Eğer kullanıcıların blog sayfasına gittiğinizde mevcut ay için tüm bloglar gösterir.

My question, how can I show a column on the side like this July 2009 June 2009 May 2009 April 2009 March 2009 February 2009

Yakalamak kullanıcı mevcut, bu yüzden artık yıl önce joined2 bir kullanıcı sadece 1 ay veya daha yeni, sadece 1 görürdünüz bu bağlantıların 24 ve bir kullanıcı olurdu kadar siteyi tek liste katıldı ay olmalıdır yılından bu yana?

Sistem php / mysql kullanır

2 Cevap

Seni varsayarsak:

  • kullanıcıdan bir blog-post olduğunda sadece hesap aylarında içine almak istiyorum
  • DB MySQL

Sen böyle bir şey deneyebilirsiniz:

select concat(YEAR(date), '-', MONTH(date)) as month, count(*) as num 
from ab_post 
where user_id = 1 
group by YEAR(date), MONTH(date) 
order by YEAR(date) desc, MONTH(date) desc;

Olacak:

  • "1" (tabii ki bu, dinamik olmak zorunda) kullanıcıya bir mesaj olmuştur zaman yıl / ay liste
  • her ay için, orada kaç mesaj vermek

Hangi böyle bir şey alacaksınız demektir:

+--------+-----+
| month  | num |
+--------+-----+
| 2008-6 |   1 |
| 2008-5 |   1 |
| 2008-4 |   3 |
| 2008-3 |   1 |
+--------+-----+

Fark şey:

  • yıl / ay göre gruplandırma
  • tarih açıklamaya göre sipariş

As a side note, this will give month as 1 digit for january to september : up to you to find the right format in MySQL's help ;-)

Eğlenin!

Bu veritabanı yapısı nasıl bağlıdır. Genellikle, bir blog yazısı ile ilişkili bir tarihi vardır. Genellikle her kullanıcı için benzersiz aylık bir listesini almak için veritabanını sorgulayabilirsiniz. Eğer bir Wordpress gibi ÖSS sistemi, ya da bir şey özel kullanıyor musunuz? Eğer şema üzerinde herhangi bir fikir verebilir?