![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 217 Pomógł: 0 Dołączył: 5.10.2003 Skąd: Londyn / UK Ostrzeżenie: (0%) ![]() ![]() |
Hi! W aktualnym projekcie mam zamiar wbudowac opcje buddy list (lista znajmych). Oczywiscie oparte bedzie to na badzie danych MySQL. W zalozeniach liczba przyjaciol ma byc nieograniczona. Potrzebuje zalozenia techniczne takiego systemu.
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Drzewka? Jeżeli tak to poszukaj na php Pro ("Problematyka powiązań") i/lub na Bazy Danych ("Drzewka, keszowanie a wydajność") - tam masz opisaną moją mordęgę
![]() -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 217 Pomógł: 0 Dołączył: 5.10.2003 Skąd: Londyn / UK Ostrzeżenie: (0%) ![]() ![]() |
Po chwili przemyslenia problemu jeszcze raz doszedlem do rozwiazania. w tabeli z userami w polu user_buddy bede przechowywal id wszystkich "Znajomych" danego uzytkownika oddzielone przecinkami. Caly ten string bede dzielil od przecinka do przecinka i osobno bede pobieral info dla kazdego z nich tzn. czy user np. jest w tej chwili online i czy np. w jego polu user_buddy znajduje sie moje id (czy ma mnie na liscie). Czy takie rozwiazanie jest dobre dla bazy uzytkonikow nie wiekszej niz 2000-5000 wpisow?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 493 Pomógł: 0 Dołączył: 14.06.2003 Skąd: Tomaszów Lubelski/Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Ja mam inny pomysł. Nie wiem jak sie to ma, ale widziałem takie rozwiązanie w duużym projekcie komercyjnym, wiec coś w tym musi być
![]() Tworzysz tabele z 2 polami. Dajmy np. user1 i user2. Ustawiamy dla tych pół indexy. I każde powiązanie miedzy użytkownikami zapisujemy jako nowy rekord. Jeżeli menic jest przyjecielem kAzu^ to tabelka bedzie taka Kod user1 | user2
--------------- menic|kAzu^ Oczywiście w przy takim zastosowaniu ważne są indexy. I co myslicie o takim rozwiązaniu :?: -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Proponuje się przyjrzeć problemowi jaki miałem - masz tam ciekawe zapytanie i strukture jakiej potrzebujesz.
-------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 217 Pomógł: 0 Dołączył: 5.10.2003 Skąd: Londyn / UK Ostrzeżenie: (0%) ![]() ![]() |
@menic podal bardzo dobre rozwiazanie. Trzymajac dane o znajomych w tabeli xos_friends z 2 polami znacznie ulatwiam sobie prace.
Kod ten_ktory_ma_go_na_swojej_liscie | ten_ktory_jest_na_liscie
--------------- kAzu^|menic [sql:1:8f2f420ea1]SELECT ten_ktory_jest_na_liscie FROM xos_friends WHERE ten_ktory_ma_go_na_swojej_liscie='kazu'[/sql:1:8f2f420ea1] W ten sposob otrzymuje wszystkich uzytkownikow ktorych kAzu ma na swojej liscie. Napewno doczytam jeszcze razwiazanie #specnalza. A noż/widelec będzie lepsze ![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
PRO -> BAZY DANYCH
-------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 10:17 |