Jako , że zawodowcem nie jestem to piszę do Was w sprawie porady .
Napisałem aplikację do której mogą się logować wszyscy z mojej rodziny. Wszystko działa pięknie, ale urodziły się dwa pomysły z którymi nie mogę sobie poradzić.
Zadaniem aplikacji jest zamawianie upominków dla siebie na różne okazje ( żeby każdy dostał to co chce, a nie to co potem jest nieprzydatne ). Jak to działa.
Osoba loguje się na stronę i umieszcza wpis dotyczący chęci otrzymania prezentu na jakąś okazję. Inna osoba widząc to w głównym koszu rezerwuje to sobie.
Osoba wystawiająca prezent widzi że ktoś go zarezerwował, ale nie wie kto, może jedynie wysłać mu komunikat z prośbą o zwolnienie prezentu bo np. już taki sobie kupiła.
Powstały wa problemy.
1. jak rozdzielić rodziny
Chodzi o to żeby rodzina, na wzajem nie widziały swoich prezentów tylko dopiero po zaproszeniu.
Wymyśliłem więc by dodać pole kod_rodziny w tabeli użytkownicy i prezenty. Kod rodziny składał by się z 6 cyfr i był by unikalny.
W polu rodzina można sobie dopisywać kody, tak żeby być widocznym w danej rodzinie przykład 121314;161718;212223.
Problem w tym jak sprawdzić czy i do której rodziny dana osoba należy i które prezenty po zalogowaniu pokazać.
Czy zapisać te dane w sesji jako jakąś tablicę czy, sprawdzać na bieżąco( jak to można zrobić, jeśli w polu baz danych są średniki ). Może dodać jakąś tabelę z kodami rodzin ?, ale jak przypisać kilku użytkowników do jednej rodziny?
No mam problem , bo pomysł fajny, ale realizacja jak dla amatora trudna.
Macie może jakiś pomysł?
2. prezenty składkowe
Tu kolejny dylemat. Nieraz osoby dodają prezent powyżej 100zł i użytkownicy składają się na niego. Najlepszym rozwiązaniem było by by dopisać imię lub login do zarezerwowanego prezentu np ania;piotrek;rafał. Loginy są unikalne więc nie będzie problemu że jest 2 Piotrków. Problem w tym jak znowu wyszukać i czy zrobić kolejną tabelę do prezentów wspólnych.
Temat troszkę zakręcony, ale może ktoś zrozumie i będzie potrafił mnie naprowadzić . Tak wyglądają obecne tabele
CREATE TABLE IF NOT EXISTS `pre_prezenty` ( `id_prezentu` tinyint(3) UNSIGNED NOT NULL AUTO_INCREMENT, `id_uzytkownika` tinyint(3) DEFAULT '0', `id_rezerwujacego` tinyint(3) DEFAULT '0', `skr_prezentu` varchar(255) collate utf8_polish_ci DEFAULT NULL, `koszt` int(10) UNSIGNED DEFAULT NULL, `szczegoly` text collate utf8_polish_ci, `link` varchar(255) collate utf8_polish_ci DEFAULT NULL, `mini_fotka` varchar(255) collate utf8_polish_ci DEFAULT 'foto_dir/noimage.png', `rezerwacja` varchar(1) collate utf8_polish_ci DEFAULT NULL, `realizacja` varchar(1) collate utf8_polish_ci DEFAULT NULL, `typ_prezentu` varchar(25) collate utf8_polish_ci DEFAULT 'prezent', `dt_dodania` date DEFAULT NULL, `dt_realizacji` date DEFAULT '0000-00-00', PRIMARY KEY (`id_prezentu`), UNIQUE KEY `id_prezentu` (`id_prezentu`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=65 ;
CREATE TABLE IF NOT EXISTS `pre_users` ( `id_uzytkownika` tinyint(3) UNSIGNED NOT NULL AUTO_INCREMENT, `imie` varchar(20) collate utf8_polish_ci DEFAULT NULL, `nazwisko` varchar(20) collate utf8_polish_ci DEFAULT NULL, `email` varchar(50) collate utf8_polish_ci DEFAULT NULL, `uzytkownik` varchar(32) collate utf8_polish_ci DEFAULT NULL, `haslo` varchar(32) collate utf8_polish_ci DEFAULT NULL, `dt_rejestracji` datetime DEFAULT NULL, `dt_logowania` datetime DEFAULT NULL, `blokada` varchar(1) collate utf8_polish_ci DEFAULT NULL, `uprawnienia` varchar(1) collate utf8_polish_ci DEFAULT NULL, PRIMARY KEY (`id_uzytkownika`), UNIQUE KEY `id_uzytkownika` (`id_uzytkownika`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=13 ;
Dzięki