![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 7.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam, nie wiem czy pisze dobrym watpu. Chodzi mi o baze danych w phpmyadmin. Problem polega na tym ze nie moge stworzyc relacji pomiedzy tabelami.
Tabela1: id, imie, nazwisko, data, numer telefonu, adres Tabela2: id, imie, nazwisko, obecnosc. Chcialbym aby jesli dodajemy do Tabela1 osobe to Tabela2 pobierala imie i nazwisko. Czy mozna zrobic takie powiazanie? Czy prosciej zrobic w formularzu zeby osoby byly dodawane do dwoch tabel? Ten post edytował kwi4tusz3k 31.01.2013, 11:06:42 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Odpowiadając ogólnie - da się to zrobić za pomocą tzw. triggerów (AFTER INSERT na Tabela1 - w nim dodajemy imie i nazwisko do Tabela2 - możesz o tym poczytać).
A teraz na poważnie - robisz coś na maksa źle. Jeśli masz taką strukturę: Tabela1 id | imie | nazwisko | data | numer_telefonu | adres Tabela2 id | imie | nazwisko | obecnosc To wystarczy ją znormalizować. Objaśnię Ci, po krótce o co chodzi ale też o tym poczytaj. Zostaw sobie tabelę 'Tabela1' tak jak jest natomiast Tabela2 zrób tak: Tabela2 id | id_Tabela1 | obecnosc Imię i nazwisko już masz w tabeli 'Tabela1' więc nie ma sensu wpisywać jej znowu do 'Tabela2'. Wystarczy dodać relację do odpowiedniego rekordu z tabeli 'Tabela1'. Przy dodawaniu nowego uzytkownika dodajesz go normalnie do Tabela1 a potem tworzysz rekord w Tabela2 z id_Tabela2 takim jakie ID ma ten ostatni wpis z Tabela1. Przy pobieraniu danych z Tabela2 wystarczy wówczas prosty join:
Ten post edytował Sephirus 31.01.2013, 11:17:53 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 23:06 |