Ben bile ne tür sorular sormalısınız bilmiyorum. Eh, benim yorum bir Yaşasın oluşturmak istiyorum, ama en iyi yolu nasıl ya da ne emin değil. Ben sadece yukarı başparmak için yeni bir alan oluşturmak mı?
Eğer Neye oy kim takip etmek gerekiyorsa, belki de bir Votes
tablo yapmak gerekir:
vote_id
: Birincil anahtar.user_id
: Bu oylamayı yapılan kullanıcı kimliği. [Users
tabloya yabancı anahtar.]comment_id
: on seçildi yorumun kimliği. [Comments
tabloya yabancı anahtar.]vote
: (sadece önemsiz bir başparmak yukarı / aşağı sistem varsa belki 1 veya -1) atıldı oy.date
: oy döküm zaman.Bir açıklamanın skor şimdi comment_id
tüm vote
sütun sadece toplamıdır.
Sadece Comments
tabloya bir tamsayı score
sütun ekleyerek aksine, bu size bir açıklama yaşanıyor tartışmanın seviyesini söylüyorum avantajına sahip olduğunu unutmayın. Hiç döküm kaç oy bilmeden, sıfır net skor ile iki yorum (kişi yorumun liyakat konusunda eşit bölünmüş, böylece toplam puan 0 civarında gezinen) tartışmalara bir sürü yaşıyor olabilir, ya hiçbiri ( kimse) bir oy kadar umursuyor.
Sadece bir açıklama kadar seçildi kez sayısı için bir int depolamak istismara tabi olacaktır. Muhtemelen de bunu döküm kullanıcı, tekrar tekrar aynı Yorumlarınız için oy insanların önleyebilirsiniz bu şekilde her oy ilişkilendirmek istiyorum.
Bu çalışması için, sana oy için ayrı bir tablo gerekir düşünüyorum. Bu tablodaki her kayıt açıklama id ve oylarını kişinin kullanıcı kimliği olmalıdır.
Bill ve John önerilen gibi ayrı bir tablo oluştururken, muhtemelen en iyi yaklaşım olacaktır. Ama yine de performans nedenleriyle comments
tabloya bir votes
sütun eklemek isteyebilirsiniz. Eğer sadece bir yorum için oy sayımı görüntülemek istediğinizde bu şekilde, votes
tablo erişmek gerekmez. Ben bu oy SO üzerinde çalışmak nasıl olduğuna inanıyorum.
Yorumunuzu tablodaki 2 alanları oluşturmak, vote_up
ve vote_down
, ve buna göre kullanıcının oylama üzerine kendi sayaçlarını artırmak, bu şekilde bu değerlerin toplamı olarak veya yüzde olarak açıklama puan görüntüleyebilir, sonraki durumda size hiç skoru sıralamak mümkün istedim eğer yüzdesi puan depolayan bir üçüncü alan vote_score
ekleyebilirsiniz.
Sonra iki kez aynı yorumu oylama kullanıcıları engellemek için oy tablo oluşturmak, şimdiye kadar veya belirli bir zaman dilimi içinde, yani sadece set Cron günde bir kez çalıştırmak ve daha eski kayıtları silmek için ise time()-( 86400 * DAYS_TO_KEEP_VOTE )
İyi şanslar.