![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 182 Pomógł: 9 Dołączył: 30.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Mam katalog plików, siedzi to sobie w bazie, należy każdy plik do jednej lub wielu kategorii, jest również opisany jakimiś tam tagami (zachowanymi w tablicy tagów, w przypadku tagu, który jeszcze tam nie istnieje - jest on dodawany do tablicy), posiada swoją nazwę.
Zastanawiam się jak zrobić taki box "Podobne pliki" na stronie: przy pokazywaniu jednego z plików obok pojawiałaby się lista np. 10 podobnych plików. Jako kryteria do określenia podobieństwa chciałbym obrać właśnie nazwę, tagi i kategorię, do której przynależy plik. Nie mam jednak za cholerę pomysłu jak to wszystko ogarnąć, a najlepiej, jeśli dałoby się to zrobić po stronie bazy danych. Wyobrażam to sobie jako jakąś wielką funkcję, która porównuje pliki każdy z każdym i wylicza jakieś tam procentowe podobieństwo, a zwraca listę plików powyżej danego progu punktowego). Albo może przy dodawaniu już pliku liczyć mu z danych jakiś tam hash czy coś ( jednak przy aktualizacji tablic może on sie okazywać nieaktualny (np. dodanie tagów itp)), a przy szukaniu podobnych plików porównywać już same hashe (np. string z soundex plus kilka id od tagów i kategorii). Macie lepszy pomysł? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 0 Dołączył: 25.07.2008 Ostrzeżenie: (10%) ![]() ![]() |
poczytaj o funkcji similar_text. Powinna byc pomocna ^^
dane do porównywania ustawiasz jako string1 i string2. $procent automatycznie liczy procent podobienstwa. Oczywiscie mozliwe ze bedziesz potrzebowal uzycia roznych petli zeby to wszystko zlozyc do kupy Edycja: Zapomnialem dodac ze jesli $string1 i $string2 beda np tablicami przechowujacymi wiele nazw to aby $procent wyswietlal procent obliczany dla nazwy kazdej z osobna to wystarczy zamiast $procent wpisac $procent[] w similar_text. Pozniej:
Ten post edytował Savail 6.04.2010, 15:54:20 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 03:11 |