Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MYSQL]Powiązywanie danych z tabeli do tabeli
Mostrom
post
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 3
Dołączył: 17.04.2007

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


Witam! W MySql mam 2 tabele:
-`users` (czyli zarejestrowani użytkownicy mojego serwisu)
-`dane` (dane odnoszące się do tych użytkowników zdefiniowane przeze mnie PRZED ich rejestracją)

Ideą tego programu jest to, żeby każdy zarejestrowany użytkownik widział TYLKO swoje dane, które wcześniej ja wprowadziłem.

I teraz tak: muszę jakoś połączyć ich konta z moimi danymi. Tylko jak??
Chciałbym robić to dynamicznie w PHP. Myślałem o tym, żeby w formularzu w jednej option liście były osoby zarejestrowane, a w drugiej liście moje dane i jakoś równolegle łączyć te listy. Tylko nawet jeśli tak zrobię to co dalej? Gdzie zapisywać dane o powiązaniu?
Go to the top of the page
+Quote Post
naitsabes
post
Post #2





Grupa: Zarejestrowani
Postów: 65
Pomógł: 5
Dołączył: 10.09.2010

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


a jakie to sa dane ? Nie wygodniej w tableli users zamiescic te informacje ?
Go to the top of the page
+Quote Post
Mostrom
post
Post #3





Grupa: Zarejestrowani
Postów: 83
Pomógł: 3
Dołączył: 17.04.2007

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


nie, bo w dane na temat jednej osoby znajduja sie tak naprawdę w kilku tabelach, wa wiec jest tego sporo, po za tym nazwy tych tabel z danymi są szczegółowo zaprojektowane, nie mogłoby być inaczej.
Za to w każdej tabeli z danymi umieściłem pole id z auto_increment, więc w kązdej tabeli ta sama komórka odpowiada temu samemu userowi.

Ten post edytował Mostrom 15.09.2010, 19:34:40
Go to the top of the page
+Quote Post
naitsabes
post
Post #4





Grupa: Zarejestrowani
Postów: 65
Pomógł: 5
Dołączył: 10.09.2010

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


nom, a pozniej wczytaj dane z kilku tabel po id, powinno wystarczyc ^^
Go to the top of the page
+Quote Post
Mostrom
post
Post #5





Grupa: Zarejestrowani
Postów: 83
Pomógł: 3
Dołączył: 17.04.2007

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


1) Nie moge tak po prostu wczytywać po id, bo ja nie wiem co za debil mi sie zarejestruje na stronie, a nóż jakiś bot. To ja muszę przypisać dane ID z tabeli users do ID tabeli z danymi. Jak??
2) W takim razie chcąc kasować użytkowników Auto increment też musi się cofać, zęby nie narobić kaszy w bazie. Co trzeba dodać przy zapytaniu dotyczącym kasowania wierszy przy polu ID?

Ten post edytował Mostrom 15.09.2010, 19:53:46
Go to the top of the page
+Quote Post
naitsabes
post
Post #6





Grupa: Zarejestrowani
Postów: 65
Pomógł: 5
Dołączył: 10.09.2010

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


Cytat(Mostrom @ 15.09.2010, 20:51:34 ) *
1) Nie moge tak po prostu wczytywać po id, bo ja nie wiem co za debil mi sie zarejestruje na stronie, a nóż jakiś bot. To ja muszę przypisać dane ID z tabeli users do ID tabeli z danymi. Jak??
2) W takim razie chcąc kasować użytkowników Auto increment też musi się cofać, zęby nie narobić kaszy w bazie. Co trzeba dodać przy zapytaniu dotyczącym kasowania wierszy przy polu ID?


nie widze sensu wczytywania uzytkownikow po id.. nie lepiej po 'nick' ? Wtedy problem nie bedzie problemem ^^
Go to the top of the page
+Quote Post
Mostrom
post
Post #7





Grupa: Zarejestrowani
Postów: 83
Pomógł: 3
Dołączył: 17.04.2007

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


Ale jeśli nick nie będzie taki sam, albo imie albo nazwisko wpisane przez delikwenta będzie się różniło przez byle zmiane kodowania danych?
Go to the top of the page
+Quote Post
naitsabes
post
Post #8





Grupa: Zarejestrowani
Postów: 65
Pomógł: 5
Dołączył: 10.09.2010

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


szyfruj tylko passy ^^ a reszta np. general_ci ;]
Go to the top of the page
+Quote Post
dariuszp
post
Post #9





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 9.09.2010

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


Nie wiem po co Ty kombinujesz. Dodaj klucze obce do tabeli z użytkownikami z regułą ON DELETE CASCADE, ON UPDATE CASCADE. W ten sposób będziesz miał powiązania a tabela z danymi użytkownika a jak np usuniesz użytkownika to i jego dane znikną.
Tu tak na szybko znalazłem w google http://blog.zeromski.com.pl/2009/01/mysql-...db-klucze-obce/

Ja dzięki tym powiązaniom mam tak że w wypadku gdy usunę witrynę z systemu to znika z bazy WSZYSTKO co z tą witryną jest powiązane (takie zarządzanie projektami w cms'ie).

Kolejna rzecz. Przecież możesz po prostu dodać do tabeli pole 'public' albo coś takiego i ustawiać tam 0/1. Dzięki temu będzie wiadomo czy dane pole wyświetlić albo nie. Wtedy każdy użytkownik może decydować co pokazać innym. Ewentualnie zrobić tabelę gdzie będą tylko informacje jakie pole może być pokazane albo nie, robisz join i po kłopocie.

Sposobów jest wiele.
Pozdrawiam
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 16:47