![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 15.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam pytanie jak zrobic takowe zapytanie.. mam dwie tabele jedna z uzytkownikami druga z komputerami w tabeli uzytkownikow mamy pole id_komputera, i bedzie to pole typu string, bedzie przechowywac id rekordow z tabeli komputery rozdzielone pipe'em | i teraz jak zadac zapytanie w mysqlu zeby pokazal dla danego uzytkownika wszystkie komputery ktore sa pod niego podpiete w jednym zapytaniu ? czy trzeba pettli ? a jesli tak to jakiej ? bo wyciagnac ze stringa id_komputerow bede potrafil korzystajac x explode i powiedzmy to przechowywac w jakiejs tablicy tylko jak dac zapytanie zeby pokazal to o co mi biega ![]() dzieki za wszelka pomoc |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 338 Pomógł: 2 Dołączył: 17.05.2003 Skąd: Kraków , Londyn Ostrzeżenie: (0%) ![]() ![]() |
A jak odzielone sa id komputerow w tabelio user bo z tego co czytam to 1 userowi moze byc kilka przyporzadkowanych .
np jesli sa odzielone przecinkiem to mozesz zrobic tak .
Ten post edytował nasto 23.06.2004, 08:30:45 -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
To rozwiazanie jest glupie... Proponuje przeprojektowac baze.
Widze, ze chcesz tutaj osiagnac relacje wiele do wielu (jeden uzytkownik moze miec wiele komputerow przypisanych i jeden komputer moze miec wielu uzytkownikow). Takie relacje robi sie z pomoca tabeli pomocniczych. W Twoim przypadku bedzie to wygladalo mniej wiecej tak: Kod uzytkownicy: ID | reszta pol... komputery : ID | reszta pol... uzytkownicy_komputery: ID_komputera | ID_uzytkownika Teraz jak zapisujesz informacje do bazy to w nastepujacej postaci: Kod ID_komputera | ID_uzytkownika 1 1 1 2 1 3 2 1 3 1 co znaczy, ze komputerowi o ID=1 pr zypisane jest trzech userow (ID kolejno 1,2,3) i dodatkowo userowi o ID=1 sa przypisane jeszcze kompy 2 i 3. Wybranie teraz wszystkich kompow nalezacych do konkretnego usera jest proste, bez zadnych petli:
-------------------- Brak czasu :/
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 15.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
Jedno i drugie rozwiazanie jest, ok..
drugie wymaga zrobienie dodatkowej tabeli.. co akurat w moim przypadku nie jest chyba konieczne.. komputerow nie powinno byc duuzo wiec petla powinna wystarczyc.. ale przy duuuzych ilosciach 2 rozwiazanie byloby na pewno wygodniejsze ! dzieki piekne chlopaki ! |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.07.2025 - 07:54 |