Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] System tagów
Forum PHP.pl > Forum > Przedszkole
maly_pirat
Wiem, że jest parę wątków na forum, wiem też o google - jednak znalezione tam wyniki mnie nie satysfakcjonują.
Nie będę Was męczył o tagowanie serwisu winksmiley.jpg chodzi mi o łączenie podobnych tagów, przez co zwiększa się rozmiar tagu

~ Powiedzmy, że w newsie A zostały użyte tagi: baza danych, php, support php
~ W newsie B użyliśmy: programy komputerowe, baza danych, filmy online, śmieszne kawały
~ W newsie C użyliśmy: śmieszne filmy, humor, humor dla dorosłych, baza danych

Tag "baza danych" powtarza się, tak więc jest on dość popularny, więc potrzebuje pomysłu, pomocy jak go
"zwiększyć (font-size)"

> Przedstawię strukturę serwisu:
  1. <?php
  2. tabela news:
  3. > newsID, tytul, tresc, tagi
  4.  
  5. tabela tagów:
  6. > tag_id, tag_name,  tag_occur (rozmiar)
  7.  
  8. druga tabela tagów:
  9. > tagm_id, tagm_news_id, tagm_tag_id
  10. ?>


I zawiesiłem się, nie wiem w jaki sposób mam dokonać owej operacji :-)
planet
policz w ilu newsach dany tag występuje (count) sortowanie po ilości potem i potem w pętli przetwarzasz. moim zdaniem pole rozmiar tagu jest zbędne.
kefirek
Liczysz który tag najwięcej się powtarza ze wszystkich użytych w danym newsie i liczysz ile to % i
I potem dajesz sobie przedział font-size: no od 16 px do 30 px i wyliczasz z tego przedziału jaka wielkość stanowi liczba % którą wczesnej obliczyłeś
maly_pirat
Cytat
policz w ilu newsach dany tag występuje (count) sortowanie po ilości potem i potem w pętli przetwarzasz. moim zdaniem pole rozmiar tagu jest zbędne.


Ok, więc pozbywam się kolumny z rozmiarem tagu, zostało samo tag_id, tag_name.
Załóżmy, że w bazie (tabela: tags) mam ponad 150 tagów, podczas zapytania pobieram wszystkie tagi, aby skrypt mógł mi podliczyć tagi i pogrubić ewentualne - wszystko ok.

Czas na wyświetlanie na głównej stronie - wyświetla WSZYSTKIE 150 tagów.
Więc następne pytanie brzmi:

a) W jaki sposób ograniczyć ilość wyświetlanych tagów (uwaga: LIMIT 20 w zapytaniu odpada - ponieważ podliczy mi tylko 20 tagów, zamiast WSZYSTKICH i nie pogrubi popularnych wpisów)
cool.gif W zapytaniu pobierającym wszystkie tagi "ORDER BY rand()" nie działa, a chciałbym mieć losowe tagi, a nie ciągle stałe.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.