Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z zapytaniem SQL, Skomplikowane sortowanie
Vegat
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 4.02.2004
Skąd: Leszno

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
miggie
post
Post #2





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 12.11.2006
Skąd: Rudziniec

Ostrzeżenie: (0%)
-----


napisz jakieś przykładowe dane oraz sposób wyświetlania, jaki chcesz uzyskać, bo szczerze mówiąc nie bardzo rozumiem :/
Go to the top of the page
+Quote Post
Vegat
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 4.02.2004
Skąd: Leszno

Ostrzeżenie: (0%)
-----


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 ((IMG:http://forum.php.pl/style_emoticons/default/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...

Ten post edytował Vegat 24.03.2007, 12:59:47
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 01:39