Etiketler php gelişen veritabanı hızı ve kullanıcı deneyimi

1 Cevap php

Bu sistemin ilk uygulaması değildi nasıl Stackoverflow, afedersiniz etmedi. Ne onun ilk etiketleri nereye karar?

Ben sitemde iyi deneyimi sunmak istiyorum ve bir etiket sisteminin uygulanması duyuyorum. Arama motorlarında arama veya herhangi umurumda değil. Ben sadece benim kullanıcılara umurumda.

Herhangi bir başarısız ya da kullanıcıların şeyleri etiketlemek için izin ne zaman başardı şeyler hakkında herhangi bir tavsiye var mı?

Does any one know some good resources about the methodologies of user tagging? Does any one know some good resources about implementing a tags system from a programming perspective, database structures, theories, etc ?

Ben hiç konuda iyi yönde beni işaret düşünenler benim onay vereceğim.

1 Cevap

Bir etiket sistemi bir çok-çok ilişkisi (bir öğe çok etiketi olabilir ve bir etiket birçok öğe olabilir) olduğunu. Bunu uygulamak için bir yolu etiketleri için bir tablo var olduğunu, (örneğin, makale) yadsınacaktır öğeleri ve etiket / öğe ilişkiler için bir çapraz tablo için bir tablo.

Table "Etiket":

id
tagname

Tablo "Öğe":

id
itemname
itemcontent

Table "Item_Tag":

item_id
tag_id

Her zaman sadece Item_Tag tabloya başka bir satır eklemek, bir öğeyi etiketlemek. Ilişkileri almak için tabloları katılın. Örneğin, "PHP" etiketli tüm öğeleri bulmak için

SELECT Item.id,Item.itemname FROM Item
JOIN Item_Tag ON Item_Tag.item_id = Item.id
JOIN Tag ON Tag.id = Item_Tag.tag_id
WHERE Tag.tagname = "PHP";

Etiketleri fiili kullanım için olduğu gibi, sizin için dışarı izlemek istediğiniz tek şey çok etiketler. Tüm etiketler sadece o arama onun tarafından etiketlenen bir çift öğeleri varsa iyi sonuç vermez. Muhtemelen el ile çoğaltılmış benzer etiketleri önlemek için etiket oluşturma işlemini polise olurdu.

Etiketleri ile başlamak için sitenizin ne hakkında olduğunu bize sürece, biz bu konuda size yardımcı olamaz. Ben yığın taşması tüm programlama dilleri vb algoritmaları, OOP, gibi diğer bazı konuları programlama için etiketleri ile başladı eminim