![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 1 Dołączył: 2.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie.
Mam pytanie jak rozwiać jeden problem z systemem znajomości ,teraz opisze problem: Posiadam dwie tabele uzyt i znajomi Użyt ID|Imie 1|Piotr 2|Pawel Znajomi ID|ID_wysylajacego|ID_znajomego|Znajomy 1|1|2|tak Wyszukuje w z bazy danych znajomych użytkownika o ID = 1 No to bedzie cos takiego
Możliwe ze sa błedy po pisałem "od ręki" Wszystko działa lecz do czasu otoz to zapytanie zwróci Imie tego znajomego co mnie cieszy,lecz co by było jak by to uzytkownik 2 (Pawel) zaprosił uzytkownika 1(Piotr) ? w tedy nie wyswietli sie (IMG:style_emoticons/default/sad.gif) Ja miałem no to taki sposób ze tworze dwa zapytania jedno to to powyzej a drugie to wyszukuje znowu w ID_znajomego ID = 3 a ID_wysyłajacego przypisuje to drugiej tabeli Chodzi to ale ja bym chciał to za pomocą jednego zapytania zrobić ? a moze wogole inaczej zaprojektować baze ? Nie prosze o zrobienie tego za mnie lecz jakas wskazówkę,podpowiedź (IMG:style_emoticons/default/winksmiley.jpg) byłbym bardzo bardzo wdzięczny (IMG:style_emoticons/default/winksmiley.jpg) Pozdrawiam Paweł Ten post edytował wolacinio 24.09.2010, 19:22:09 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 22 Dołączył: 20.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
wg mnie najlatwiej to zrobic tak:
1 tabela: user, pola id, imie 2 tabela znajmosci, pola: user_id, znajomy_id, zaakceptowany , gdzie user_id to id uzytkownika, ktory prosi o zawarcie znajmosci, a znajomy_id to id usera ktorego chce zaprosic. W momencie gdy uzytkownik o id 1 (nazwijmy go Tomek) chce zawrzec znajomosc z uzytkownikiem o id 2 (Franek) to do tabeli znajmosci dodawany jest wpis 1,2,0. W tym momencie Tomek nie ma Franka jako znajomego (zaakceptowany = 0) ale Franek bedzie widzial, ze Tomek go zaprosil. Teraz Franek moze zaakceptowac zaproszenie. Gdy je zaakceptuje poprzedni wpis w tabeli znajomosci zmieni sie na 1,2,1 (zaakceptowano znajomosc. Tylko, ze jest to dzialanie jednostronne. W tabeli znajomosci informujemy ktory uzytkownik jest znajomym ktorego. Nie ma sensu bawic sie w podwojne zapytania. Wydaje mi sie ze lepiej zrobic tak: gdy Franek akceptuje znajomosc zmienic wpis utworzony przez Tomka tak jak napisalem wczesniej ORAZ dodac nowy wpis do tabeli znajomosci o tresci 2,1,1 (Franek bedzie znajomym Tomka - wpis aktywny). Teraz sa swoimi znajomymi. Wyszukujac wszystkie znajomy_id uzytkownika o danym user_id (np 1 dla Tomka) znajdziemy wszystkich jego znajomych, tak samo dla Franka (id 2) zostanie znaleziony uzytkownik o id 1. Trzeba tylko pamietac o aktualizacji tabeli w razie zerwania kontaktu, albo odrzuceniu akceptacji (dodatkowe pole) ale to juz dodatki |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 00:39 |