Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][SQL] ustawienia usera na checkboxach
Forum PHP.pl > Forum > Przedszkole
piraciq
Witam:]

Taki mały problemik do przemyślenia. Mianowicie zapisywanie ustawień usera w profilu. Wiadomo najlepiej na checkboxach ale jak to później trzymać w bazie?? tak myślałem aby dać to do jednej tabeli porozdzielać "|" ale co jak będę chciał szukać jakiś ustawień? np news letter??

Macie jakiś pomysł na to aby to sprawnie działało questionmark.gif



pozdrawiam
Maxik
Osobne kolumny dla każdego ustawienia, najprościej.
luck
Po prostu użyj jednej tabeli do przechowywania ustawień profilu, gdzie każde pole będzie odpowiadało za wartość danego ustawienia. Powiąż to przez FK z tabelą userów i gotowe.
bmL
Można by było wrzucić wszystkie ustawienia oddzielone przecinkiem do jednej komórki a potem je tylko explodować/implodować ale na pewno działało by to wolniej niż oddzielne tabele. Chociaż moim zdaniem najlepiej nie tworzyć oddzielnej tabeli tylko porostu w tabeli z użytkownikami dodać odpowiednie pola dla każdego ustawienia.
piraciq
a co jesli bedzie ich 20 lub wiecej questionmark.gif snitch.gif
luck
Cytat(bmL @ 20.08.2008, 20:59:05 ) *
Chociaż moim zdaniem najlepiej nie tworzyć oddzielnej tabeli tylko porostu w tabeli z użytkownikami dodać odpowiednie pola dla każdego ustawienia.

A to już oczywiście jak kto woli winksmiley.jpg W tym wypadku i tak prawdopodobnie podstawowym warunkiem pobierania rekordów będzie Id usera, pozostałe dane bedą raczej zbędne. Ja akurat lubię sobie w ten sposób dzielić strukturę bazy, a jeśli kiedyś wygodniej będzie mieć wszystko w jednym miejscu wtedy robię widok. JOIN wykorzystujący indeksy FK nie powinien jakoś tragicznie wpływać na wydajność. Dzięki temu tabele nie rozrastają mi się do kosmicznych wymiarów. Ale jak już wspomniałem - co kto woli smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.