Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Powiązania rekordów tabeli
PaKo1407
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 29.07.2012

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


Witam wszystkich
W php i sql jestem początkującym więc proszę o wyrozumiałość jeśli mój problem jest banalny

Piszę sobie mały skrypt do obsługi pewnych zleceń... Zlecenia otrzymuję w pliku xls z którego wczytuję do bazy najważniejsze dla mnie informacje ... każde zlecenie jest niepowtarzalnie numerowane. Klienci do których jest to zlecenie mają również nadane niepowtarzalne numery.

Sytuacja może być taka że dla jednego klienta są 2 ( a czasami i 3 ) osobne zlecenia w osobnych plikach (więc i rekordów w bazie jest 3) i chciałbym je jakoś powiązać ze sobą w celu ułatwienia pracy tj. wykonać opis równocześnie dla tych zleceń, przenieś sprzęt z magazynu do tych zleceń itp. Nie wiem czy stworzenie nowej tabeli ma jakiś sens.

Czekam na Wasze propozycje...


Pozdrawiam wink.gif

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Hej. Jeżeli w grę nie wchodzi rozbudowanie istniejących tabel, to możesz utworzyć dodatkową tabelę przechowującą samą relację Klient (1) - Zlecenia (*) czyli w relacji jeden do wielu, np.
  1. CREATE TABLE `test`.`test` (
  2. `id_test` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `id_klient` INTEGER UNSIGNED NOT NULL,
  4. `id_zamowienie` INTEGER UNSIGNED NOT NULL,
  5. PRIMARY KEY (`id_test`)
  6. )
  7. ENGINE = InnoDB;

Jednocześnie należałoby utworzyć klucze obce - dla id_klient oraz id_zamowienie, na tej postawie jesteś w stanie wyciągnąć wszystkie zamówienia czy zlecenia danego klienta.
// edit
Oczywiście klucze obce w tym przypadku nie są obowiązkowe, wystarczy, że jesteś w stanie odtworzyć relację pomiędzy klientem i zleceniami na podstawie samych danych (select * from test where id_klient = 6 - i już masz idki wszystkich zamówień czy zleceń przypisanych danemu klientowi).

Ten post edytował darko 3.08.2012, 15:43:52


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
PaKo1407
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 29.07.2012

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


Cytat(darko @ 3.08.2012, 16:41:35 ) *
Jeżeli w grę nie wchodzi rozbudowanie istniejących tabel


na tabelach mogę działać jak mi tylko dusza zagra a twój pomysł jest ok do pewnego momentu tj. co kiedy dzisiaj otrzymuje jedno zlecenie do klienta coś tam wykonuję, przypisuję sprzęt z magazynu a za 2 tygodnie przyjdzie mi kolejne dwa zlecenia do tego klienta i nie są związane z tym dzisiejszym questionmark.gif

// EDIT1:

moja tabela wygląda tak ZLECENIA (id, nrzlecenia, nrklienta, nazwa, adres ......) a operacje wykonuję raczej na podstawie zlecenia a nie klienta ...

Ten post edytował PaKo1407 3.08.2012, 16:12:13
Go to the top of the page
+Quote Post
pedro84
post
Post #4





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


Standardowa relacja 1:m - jeden do wielu - jeden klient może mieć wiele zamówień, ale zamówienie należy do jednego klienta.


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 13:50