Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> unikalne tagi
jarmiar
post
Post #1





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

Ostrzeżenie: (0%)
-----


witam

mam kilka tabel w bazie, które zawierają pola: tagi a w nich następujące sekwencje:

tag1, tag2, tag3, etc......

tagi mogą się powtarzać w niektórych, ja chcę wyświetlić je, ale kazde unikalne.

jak takie cos mozna zrobic?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Wicepsik
post
Post #2





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


DISTINCT
Go to the top of the page
+Quote Post
piotrooo89
post
Post #3


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




DISTINCT
Go to the top of the page
+Quote Post
jarmiar
post
Post #4





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

Ostrzeżenie: (0%)
-----


no tak, ale tagi mogą sie powtarzać np tak:

tag1, tag2, tag3, tag4, tag5
tag5, tag6, tag7, tag8, tag1, tag9
tag10, tag11, tag1, tag2, tak13, tag14, tag5
Go to the top of the page
+Quote Post
piotrooo89
post
Post #5


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




to w sql'u nie masz możliwości. w php można pozamieniać to na tablice i za pomocą array_unique wyciąć unikalne.
Go to the top of the page
+Quote Post
Wicepsik
post
Post #6





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


Zmień strukturę bazy danych. Co jak będziesz miał powiedzmy 1000 rekordów? Wszystkie pobierzesz i będziesz przeszukiwać w tablicach ?
Go to the top of the page
+Quote Post
thek
post
Post #7





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Wicepsik... Ja mieszam w swoich tabelach i specjalnie je denormalizuję w celu przyspieszenia szukania lub łączę kilka rozwiązań. Przykład? Mam w tabeli artykułów kolumnę tagi i jednocześnie wiele do wielu standardowe, czyli z tabelą złączeniową. Czemu? Bo dla chmury tagów to drugie rozwiązanie jest idealne, ale gdy robię zwykłego searcha by wyszukać artykuły, które mają jakieś słowa kluczowe to lepiej mi założyć fulltext na kolumny tytuł, treść, tagi i co tam jeszcze chcę, by potem na tym operować. A jak ja miałbym to zrobić na relacji wiele do wielu gdzie mam dostępne tylko tagi, nie mam już zaś treści artykułu? Łączyć wszystko i potem jeszcze robić GROUP_CONCAT? Przecież zarżynam wtedy bazę (IMG:style_emoticons/default/winksmiley.jpg) Czasem denormalizacja to sensowne rozwiązanie pod kątem optymalizacji. Tracę trochę miejsca w samej bazie na owe tagi jako zwykły tekst, ale za to zyskuję przy wydajności. Takie rozwiązania mieszane to czasem dobre rozwiązanie na przyszłość.
Niech więc zrobi tak, że kolumna tag sobie jest, ale niech jeszcze do tego dopisze dodatkowo tabele do relacji "wiele do wielu" (IMG:style_emoticons/default/smile.gif) W ten sposób wilk będzie syty i owca cała. Poza tym nie będzie musiał wcale przebudowywać tabel. Doda co trzeba, odpali skrypt, który przeleci przez bazę i uzupełni co trzeba (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 19:01