![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 19.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Potrzebuje napisać system dodawania znajomych i mam pytanie. Mam takie 2 tabele: UZYTKOWNIK IDUzytkownika, Login ZNAJOMOSCI IDZnajomosci, Zapraszający, Zaproszony I będzie do tego cały tam system plusików, akceptacji i w ogóle, tylko mam pytanie czy jest w ogóle sens takiej struktury Bo sprawa jest taka, że w tej tabeli ZNAJOMOSCI niewiem jak wyciągać kto jest kogo znajomym, bo musiał bym zrobić takie cos: IDZnajomosci|Zapraszajacy|Zaproszony 1|1|2 2|2|1 Czyli musiał bym taką relację pisać 2 razy, bo jeśli Marcin zaprasza Jana do znajomych, to potem muszę napisać że Jan ma w znajomych Marcina. Bo potem przy wyciąganiu listy znajomych np. dla Marcina - sprawdzam z pierwszej kolumny nick Marcin i jakie ma znajomych w drugiej kolumnie. Więc dla Jana będzie to samo. No chyba wiecie o co chodzi. No i mam pytanie, czy taki system znajomych, jest dobry?? Czy może znacie jakiś inny bardziej przydatny i lepszy do wykorzystania?? Z góry dzięki za odpowiedź. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 44 Dołączył: 22.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
wystarczy że sprawdzisz czy marcin znajduje się w zaproszonych lub zapraszających (zakładając że w tabeli znajdują się tylko pary osób zaakceptowanych przez siebie), bo co to za różnica czy zaprosił czy jest zaproszony ważne że jest w tabeli para dwóch przyjaciół
|
|
|
![]()
Post
#3
|
|
Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
Wystarczy dla każdej "parki" tylko jeden rekord, czyli:
1 - Adam 2 - Zosia 3 - Maciek 4 - Ala id znajomosci: 1 zapraszajacy: 1 zaproszony: 2 id znajomosci: 2 zapraszajacy: 2 zaproszony: 3 id znajomosci:3 zapraszajacy:2 zaproszony: 4 I teraz w zależności od potrzeb tylko zamieniasz miejscami w warunku zaproszony/zapraszający: SELECT zapraszajacy WHERE zaproszony = 2 ; wyciągnie Ci wszystkich ZAPRASZAJĄCYCH Zosię do siebie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) - Adam SELECT zaproszony WHERE zapraszajacy = 2; wyciągnie Ci wszystkich zaproszonych przez Zosię (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) - Maciek, Ala W sumie da Ci to zbiór znajomych Zosi: Adama, Maćka i Alę, co jest true, bo zarówno Adam ma ją w swoich znajomych, oraz Maciek i Ala. Żaden rekord się nie powtarza. Pomijam sprawdzanie, czy ktoś przyjął-odrzucił zaproszenie itp. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 19.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie będę zakładał nowego tematu, bo mam pytanie odnoście IF i OR:
Mam taki kod:
I wyświetla mi mi zawsze "costam" to pierwsze. Jeśli zrobię bez OR, to działa poprawnie (zależnie które wybiorę query2 albo query3 to wyświetla mi albo "costam" albo "cośtam2" i to jest dobrze, wiec zapytania są dobrze) tylko nie umiem połączyć tych dwóch zapytań. Próbowałem na różne sposoby:
To też nie działa (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Pomoże ktoś(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Z góry dzieki!! Ten post edytował palixmp 2.02.2009, 23:10:53 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 12:54 |