Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dane w tabeli
Forum PHP.pl > Forum > PHP
KubasGC
Witam serdecznie.

Mam pewien problem i siedzę już od jakiegoś czasu zastanawiając się nad tym. Ciężko to wytłumaczyć, także zrobiłem "szkic" w paincie. Wybaczcie za niechlujność, ale o tej porze na touchpadzie dzieła sztuki nie wychodzą ^^



Teraz po kolei omówię o co mi chodzi.

Imiona uczestników ma pobierać z bazy danych z tabeli `czlonkowie`.
Nazwy spotkan (1 spotkanie, 2 spotkanie etc.) ma pobierac z bazy danych z tabeli `spotkania`.
Te koślawe kwadraty to checkbox'y.

Być może już ktoś się domyśla o co chodzi. Mianowicie - chcę stworzyć w bazie danych spotkanie, a potem uruchomić to i masowo ustawić kto na którym spotkaniu był i móc zobaczyć kto jakie zebranie opuścił. Ale ciągle nie mam pojęcia jak to zrobić.

Nie wiem od czego zacząć przy budowaniu tabeli. Która pętla ma być w której, aby wszystkie checkbox'y się zgadzały. Myślałem też nad sposobem zapisywania. Kombinowałem coś ze zrobieniem osobnej tabeli w której jeden rekord odwoływałby się do jednego spotkania jednej osoby. Myślałem też nad zrobieniem ogólnej tablicy dla każdego czlonka osobno i zapisywania jej serializowanej postaci w bazie danych. Ale nie wiem co tu najlepiej będzie pasować. Siedzę z tym od godziny 17:00, jeśli mój zegarek dobrze działa to mamy 00:35, ciągle nie potrafię znaleźć metody rozwiązania. Liczę na waszą pomoc, dzięki z góry smile.gif
nospor
Strukura bazy:

Tabela UZYTKOWNIK
ID
IMIE
NAZWISKO

Tabela SPOTKANIE
ID
NAZWA
MIEJSCE
JAKIES IINE DANE

Tabela łączaca UZYTKOWNIK_SPOTKANIE
ID_UZYTKOWNIK
ID_SPOTKANIE


Zas sama prezentacja tego to zwykla tabelka HTML
in5ane
Zacznij od stworzenia bazy, proponuję coś takiego:
czlonkowie: id|fistName|lastName|innePolaOpisujaceUzytkownikaNpAdresZameldowania|meetings
spotkania: id|nameOfMeeting
I teraz w polu meetings tabeli czlonkowie będziesz przechowywał ID spotkanie po przecinku (np. 2,3,6,11,14 - w takiej formie). Taką formę łatwo później poprzez explode rozdzielić. A jak dodawać pewnie spytasz, po prostu pobierasz meetings danego użytkownika i dopisujesz przecinek i ID spotkania.
Oczywiście, gdy tworzysz taką tabelkę, a nie pojedynczo edytujesz każdy rekord musisz sobie dobrze nazwać checkboxy, a potem po odpowiednich nazwach będziesz mógł prowadzić operacje (przykładowa nazwa checkboxa: 4_5 - co oznacza użytkownika o ID 4 i spotkanie o ID 5).
Dalej to już kwestia popracowania nad tym i voil?.

@edit: tabelka podana przez nospor'a też jest bardzo dobra. Ba, a nawet lepsza, bo możesz później wprowadzić system zarządzania użytkownikami, o tych danych spotkania (jakieś adnotacje, system premiowany czy coś takiego) - będzie na pewno łatwiej.
nospor
Cytat
I teraz w polu meetings tabeli czlonkowie będziesz przechowywał ID spotkanie po przecinku (np. 2,3,6,11,14 - w takiej formie).
To jest zle podejscie. Nic normalnie potem z tym nie zrobisz. Powinna byc tabela łącząca jak to napisalem

edit down: widze, ale jak pisalem posta to edycji nie bylo wink.gif
in5ane
Cytat(nospor @ 27.09.2013, 09:41:37 ) *
To jest zle podejscie. Nic normalnie potem z tym nie zrobisz. Powinna byc tabela łącząca jak to napisalem

Dlatego edytowałem swojego posta, informując o tym, że Twój pomysł jest lepszy graduated.gif
KubasGC
Dzięki panowie za pomoc. Ale...


Jeśli chodzi o zapisywanie danych to w sumie wiedziałem jak to zrobić i zacząłem pisać to sposobem nospor'a jeszcze wczoraj. Tyle, ze miałem po prostu problem z wyświetleniem tego ^^. Pierwszy znacznik tr wyświetlał by nazwy spotkań (spotkanie 1, spotkanie 2 etc. Reszta to byłoby wyświetlanie użytkowników. Tylko chodzi o samo polaczenie id spotkań z chceckboxami. Z reszta bym sobie poradził smile.gif
nospor
Skoro wiesz jak zbudowac tabelke to za bardzo nie wiem w czym masz problem.
Zas same checkboxy to tez prosta sprawa: nadaj kazdemu checkboxowi nazwe tablicową: name="blabla[]" zas wartosc o taką: value="IDUSERA_IDSPOTKANIA"
Teraz jak wyslesz forma to w $_POST['blabla'] masz tablice zaznaczonych checkboxow z wartosciami ktore maja info o userze i spotkaniu. Dzieki temu wiesz jaki user jest przypisany do spotkania
KubasGC
No właśnie, nie rozumiecie. Jestem teraz na telefonie, gdybym był na kompie to pewnie bym to jakoś napisał. Chodzi mi o to, ze na początku tworzę petle która wypisuje mi wszystkie spotkania. Potem muszę zrobić petle która pokazuje userow i chceckboxy. Wiem jakam nazwać checkboxa, tyle ze właśnie nie wiem jak pobrać id spotkania.
nospor
Cytat
Wiem jakam nazwać checkboxa, tyle ze właśnie nie wiem jak pobrać id spotkania.

Przeciez robiac petle po userach, by uzyskac wiersze z userami, w jej wnetrzu musisz zrobic petle po spotkaniach, by wyswietlic tyle kolumn dla usera ile jest spotkan. I wlasnie z tej petli spotkan bedziesz mial ID spotkania
KubasGC
Dlaczego ja o tym wcześniej nie pomyślałem... Dzięki wielkie, właśnie o to mi chodziło 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.