Etiketleri saklamak için kullanılan 4 tablolar vardır:
tagovi, tagovi_vijesti, tagovi_blogovi, tagovi_dogadjanja
Yapı od tablo tagovi
:
id - name
Tablosunun yapısı tagovi_vijesti
,
id - vijesti_id - tag_id
Aynı şey diğer iki tablo içindir.
Ana sayfada ben her üç tablo bu şekilde etiketleri görüntüler:
$sql = "SELECT
T.id AS id, T.name AS tag,
TV.id AS tag_vijest_id, TD.id AS tag_dogadjanje_id, TB.id AS tag_blog_id,
COUNT(*) ponavljanje
FROM tagovi AS T
LEFT JOIN tagovi_vijesti AS TV ON T.id = TV.tag_id
LEFT JOIN tagovi_dogadjanja AS TD ON T.id = TD.tag_id
LEFT JOIN tagovi_blogovi AS TB ON T.id = TB.tag_id
WHERE TV.id IS NOT NULL
GROUP BY id
ORDER BY id DESC
LIMIT 35";
$sql_result = mysql_query($sql,$connect)
or die("Upit nije izvrsen");
while ($row = mysql_fetch_array($sql_result)){
$tag_id = $row["id"];
$tag_url = $row["tag"];
$tag = preg_replace('/-/', ' ', $tag_url);
$tag_ponavljanje = $row["ponavljanje"];
if($tag_ponavljanje >= 10 && $tag_ponavljanje < 20) $fontSize = "14px";
elseif($tag_ponavljanje >= 20 && $tag_ponavljanje < 30) $fontSize = "16px";
elseif($tag_ponavljanje >= 30 && $tag_ponavljanje < 40) $fontSize = "18px";
elseif($tag_ponavljanje >= 40 && $tag_ponavljanje < 60) $fontSize = "20px";
elseif($tag_ponavljanje >= 60) $fontSize = "24px";
else $fontSize = "12px";
echo " <a href = \"$ispisi_link/tag/$tag_url\" style=\"font-size: $fontSize;\">$tag</a> ";
}
Ama etiketleri id tarafından sıralanır ve sonra sonuçları id göre sıralanır çünkü bütün o eski etiketler tekrar asla gösterilmeyecektir çünkü bu bunu yapmak için mükemmel bir yol olduğunu sanmıyorum. Eğer ekran (sorgu) Ne tür kullanıyorsunuz? Bana ne etiketleri görüntüleme hakkında önerirsiniz? O (benim tabloda yinelenen "ponavljanje" denir) her etiketin tekrarlayarak sayısına göre sıralamak için daha iyi mi? Ben bu şekilde kullanırsanız o zaman içerik ve yeni bir çoğunda ana sayfada görüntülenecek asla tekrarlanacaktır etiketler olacağı biraz korkuyorum. Ya da belki iki sorgular, yeni etiketleri için bir tane ve çoğunlukla kullanılan olanlar için birini kullanmak gerekir?
Thanks, Ile