![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam dwie tabelki: users: Kod ----------------------------------------------- id | nazwisko | imie | wiek | adres | ---------------------------------------------- 1 | Kowalski | Jan | 45 | cos tam | 2 | Nowak | Adam | 35 | cos tam | ------------------------------------------------ user_langs: Kod ----------------------------------------- id | uid | lang | level | ------------------------------------------ 1 | 1 | angielski | biegły | 2 | 1 | niemiecki | dobry | 3 | 1 | rosyjski | podstawowy | 4 | 2 | angielski | dobry | Powiązane są poprzez id z tabeli gównej które jest kluczem obcym w user_langs (uid). Mam kłopot ze skonstruowaniem zapytania które będzie wyszukiwało dane. Jeśli chcę wyciągnąć userów, którzy umieją po jednym języku na odpowiednim poziomie to jest ok, ale nie wiem jaką postać ma mieć zapytanie jeśli chcę pobrać z bazy userów którzy umieją np. język angielski i niemiecki na określonych poziomach. Poza tym przy wyszukiwaniu języki mogą nie być określone czyli, mogą być wyszukiwani userzy bez kryteriów nałożonych na język. Dla jednego lub nieokreślonego(wszystkie) języka wymyśliłem coś takiego:
Zmienne $n,$i itd. to dane z formularza przesyłane postem. Jeśli to lamerskie pytanie to sory (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Z góry dzięki za pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ------------------------ Edit: zapomniałem dodać, że chciałbym to zrobić jednym zapytaniem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował revyag 24.06.2005, 11:00:35 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
1. Rozwiązanie pierwsze odpada, bo liczba języków nie może być ustalona z góry, jest zależna od tego ile user ich poda.
2. Rozwiązanie drugie też nie za bardzo będzie sią dało wprowadzić. Dlaczego ? Patrz punkt1, ilość języków nie może być ustalona. Problem sprowadza się do jednej rzeczy: czy da się wyciągnąć z tabeli tylko te wiersze, które odpowiadają dwóm lub więcej kryteriom ? Tutaj tymi kryteriami są języki. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 07:32 |