Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z zapytaniem SQL
Forum PHP.pl > Forum > Bazy danych > MySQL
Vegat
Witam!

Mam problem z sortowaniem rekordów zwróconych z bazy danych. Otóż, mam tabelę, w której trzymam dane dot. znajomych w moim serwisie: tabela wygląda tak:
Kod
friends_a //id jednego użytkownika
friends_b // id drugiego użytkownika
friends_showid_a //kolejność wyświetlania pierwszego
friends_showid_b //kolejnosć wyświetlania drugiego


Na stronie profilu chcę wyświetlić użytkowników posortowanych wg showid_a i showid_b, i tu pojawia się problem bo wybrany użytkownik raz jest użytkownikiem A a raz użytkownikiem B i nie wiem w jaki sposób wyciągnąć dane posortowane wg ustawień konkretnego użytkownika.

Mam nadzieje, że w miarę jasno opisałem problem.
Pozdrawiam, vegat
miggie
napisz jakieś przykładowe dane oraz sposób wyświetlania, jaki chcesz uzyskać, bo szczerze mówiąc nie bardzo rozumiem :/
Vegat
Problem jest troche złożony, przyznaję, spróbuję to wyjaśnić na przykładzie.
Powyższa tabela to tabela znajomych na mojej stronie.
Przykładowi użytkownicy: A, B, C
Kiedy użytkownik A zaprosi użytkownika B będzie w bazie zapisany jako friends_a (friends_a to ten co zaprasza, friends_b to zaproszony). Gdyby user B zaprosił usera A to byłoby na odwrót.:

A zaprasza B
Kod
friends_a friends_b   showid_a showid_b
       A        B       1       1

B zaprasza A
Kod
friends_a friends_b   showid_a showid_b
      B           A           1            1

To myślę jest jasne.
Użytkownicy mają możliwość ustalenia kolejności wyświetlania znajomych, decyduje o niej zmienna showid_x gdzie x to albo osoba zapraszająca (a) lub zaproszona (cool.gif
Więc gdy użytkownik A ma w znajomych użytkownika B i C tabela może wyglądać tak
Kod
friends_a friends_b   showid_a showid_b
   A          B        1         2 //A zaprosił B, A chce by B był pierwszy wśród jego znajomych, na liście znajomych usera B A będzie jako drugi.
   C          A        1         1//C zaprosił A, C chce by A był pierwszy na jego liście znajomych, to samo user A -  u niego na liście C też będzie jako pierwszy
   C          B        2         1//idzie chyba rozpracować samemu

Teraz jak mając takie dane posortować je, skoro raz użytkownik jest tym który zaprasza, a raz tym który został zaproszony?
A chce mieć znajomuch w kolejności C, B
B: A, C
C: A, B

Może teraz problem jest jasny...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.