Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Wspólni znajomi
Forum PHP.pl > Forum > Przedszkole
graft
Witam...

zapisuję do bazy znajomych:
Kod
--------------------------------
     user      |    znajomy
--------------------------------
1. id_jasia    |  id_małgosi
--------------------------------
2. id_małgosi  | id_jasia
--------------------------------

I teraz pytanie. Czy można jednym zapytaniem sprawdzić czy użytkownicy są znajomymi? Oczywiście znajomymi są wtedy, gdy oboje dodadzą się do bazy (wiersz 1 oraz 2).

Proszę o wskazówki. Czytam właśnie o JOIN, ale nie kumam za bardzo...

Pozdrawiam
Zmorcia
Dołączam sie do pytania.
kipero
Można to zrobić np. w ten sposób:
  1. SELECT COUNT(user) AS sa_znajomymi
  2. FROM znajomosci
  3. WHERE (user = 2 AND znajomy = 5) OR (user = 5 AND znajomy = 2);


Zapytanie zwraca wartość 2(są znajomymi), 1(tylko jedna osoba dodała do znajomych) lub 0(nikt nie dodał do znajomych).
graft
No nie do końca. Bo brakuje mi zmiennych "2" i "5". Np małgosia może mieć 1000 ulubionych i tylko 10 znajomych. Dodała 1000, a tylko 10 z tego tysiąca ma również małgosię w ulubionych, więc automatycznie są znajomymi.


jaś --ma w ulubionych--> małgosię
małgosia --ma w ulubionych--> jasia


Jak więc odpytać bazę ilu znajomych ma dowolny user?
Chodzi mi tylko o zliczenie, czyli w wynikach wyszukiwania, pod każdym userem ma być ilość jego znajomych, wg powyższego przykładu.



PS. Co by nie było, że chcę gotowca, to poradziłem sobie stosując 2 zapytania w drugim dając WHERE znajomy IN ($listauseróq_z_1_zapytania)
Ale na pewno da radę zrobić to lepiej...
seth-kk
Exists lub join z samym soba
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.