![]() |
[PHP][MySQL] Tworzenie systemu znajomych - Wersja do druku +- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl) +-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www) +--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych) +--- Wątek: [PHP][MySQL] Tworzenie systemu znajomych (/thread-php-mysql-tworzenie-systemu-znajomych) Strony:
1
2
|
[PHP][MySQL] Tworzenie systemu znajomych - e-konrad - 13-04-2012 Myślę nad stworzeniem systemu znajomości który chcę napisać na swojej stronie. W tabeli users mam wszystkich zarejestrowanych użytkowników, oraz tabela znajomi gdzie będą przechowywane relacje pomiędzy użytkownikami. Tabela users: id, login Tabela znajomi: id, user_id, znajomy_id, status Czy tym sposobem tabela znajomi nie będzie przeładowana zbyt dużą ilością danych? Może ktoś z was ma inny pomysł na działanie takiego systemu to chętnie wysłucham RE: [PHP][MySQL] Tworzenie systemu znajomych - kancik - 13-04-2012 To jest standardowy i zarazem najlepszy schemat relacji w takim systemie. Swego czasu na necie czytałem jak gość jakiś proponował robić dla każdego użytkownika tabele z jego znajomymi. Otóż taka tabela nie będzie przeładowana. Nie zamierzasz mieć 100 tys użytkowników chyba od razu ![]() Jeżeli masz użytkownika A i B i są znajomymi to możesz przecież mieć tylko jeden rekord. kto zaprasza, kogo zaprasza , status zaproszenia , data. Inna sytuacja jest jak system obserwacji jak na twitterze. Chociaż też można to jednym rekordem zrobić. RE: [PHP][MySQL] Tworzenie systemu znajomych - e-konrad - 13-04-2012 Jeśli dobrze rozumuję to moje zapytanie o dodanie znajomego będzie się opierać na tabeli users, którego wynik będzie zapisany w tabeli znajomi? RE: [PHP][MySQL] Tworzenie systemu znajomych - kancik - 13-04-2012 Nie można chyba powiedzieć że wynik będzie zapisany ![]() Pobierasz id użytkownika który jest zalogowany , id użytkownika którego zaprasza i zapisujesz do bazy. Jako status przykładowo podajesz domyślnie 2, zmiana jego będzie w przypadku gdy drugi użytkownik zaakceptuje np na wartość 1 a na wartość 0 gdy odrzuci. RE: [PHP][MySQL] Tworzenie systemu znajomych - e-konrad - 13-04-2012 Czyli z tabeli users pobieram id użytkownika aktualnie zalogowanego oraz id użytkownika którego zapraszam a następnie zapisuję to do tabeli znajomi ze statusem oczekiwania, czy tak? Wybacz te być może banalne pytania ale chciałbym dokładnie zrozumieć działanie tego systemu i napisać wszystko sam nie korzystając z gotowców RE: [PHP][MySQL] Tworzenie systemu znajomych - kancik - 14-04-2012 dokładnie tak ![]() RE: [PHP][MySQL] Tworzenie systemu znajomych - e-konrad - 14-04-2012 Udało mi się napisać ten skrypt, ale przy wyświetlaniu znajomych pojawia mi się niechciana wartość jednej z kolumn. Mianowista wyświetla mi się: [imie_znajomego] [status on- offline] [dostępny lub niedostępny] Status dostępny lub niedostępny pobieram z wartości pola status. Kod PHP: $user=$_SESSION['login']; Przykładowy wynik: Marcin 1 dostępny Monika 0 niedostępny RE: [PHP][MySQL] Tworzenie systemu znajomych - kancik - 14-04-2012 Przecież dokładnie tak jak mówisz tak zaprogramowałeś chyba , że nie rozumiem o co Ci chodzi. tak przy okazji nie rób dodatkowych zmiennych $imie i $dostepny bo tylko pamiec zajmujesz. Przecież chyba pobierać masz znajomych tylko np użytkownika Adam który ma id = 1, i np gdy tabela ma budowe id , id_zalogowanego, id_znajomego , status ( przy czym zaakceptowanie to wartosc 1 ) Więc zapytanie wygląda Kod PHP: SELECT `users`.`login` FROM `znajomi` Mniej więcej tak zapytanie ma wyglądać, żeby pobrać znajomych użytkownika wraz z loginami. RE: [PHP][MySQL] Tworzenie systemu znajomych - e-konrad - 14-04-2012 Chcę żeby mój wynik wyglądał następująco: Marcin dostępny Monika niedostępny Nie wiem jak mam się pozbyć wartości 1 i 0 w wyniku RE: [PHP][MySQL] Tworzenie systemu znajomych - kancik - 14-04-2012 (14-04-2012, 16:27)e-konrad napisał(a): Chcę żeby mój wynik wyglądał następująco: to po co piszesz echo $imie.$dostepny ? napisz tylko echo $imie; ..... widać już, że nie ty to pisałeś bo nawet nie wiesz jak zmodyfikować.... |