Za namową kolegów postanowiłem napisać od nowa swoją aplikację i poprawić w niej błędy.
Jako że nie jestem zawodowcem to każda tabela jest oddzielnie i nie posiada relacji między sobą.
Bardzo zależy mi na tym, żeby każdy użytkownik, miał swoją rodzinę i mógł się przyłączać do innych rodzin.
Osoba nie należąca do jakiejś rodziny nie widzi prezentów tej rodziny, oraz nie może wysyłać do nich komunikatów.
Tak opracowałem tabele
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL'; CREATE SCHEMA IF NOT EXISTS `prezentownik` DEFAULT CHARACTER SET utf8 COLLATE utf8_polish_ci ; USE `prezentownik`; -- ----------------------------------------------------- -- Table `prezentownik`.`pre_kodrodziny` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `prezentownik`.`pre_kodrodziny` ( `id_kodrodziny` TINYINT(4) NOT NULL AUTO_INCREMENT , `kod_rodziny` INT(11) NOT NULL , `nazwa_rodziny` VARCHAR(100) CHARACTER SET 'utf8' COLLATE 'utf8_polish_ci' NOT NULL , PRIMARY KEY (`id_kodrodziny`) ) ENGINE = MyISAM AUTO_INCREMENT = 0 DEFAULT CHARACTER SET = utf8 COLLATE = utf8_polish_ci; -- ----------------------------------------------------- -- Table `prezentownik`.`pre_prezenty` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `prezentownik`.`pre_prezenty` ( `id_prezentu` TINYINT(3) UNSIGNED NOT NULL AUTO_INCREMENT , `id_uzytkownika` TINYINT(3) NULL DEFAULT '0' , `id_rezerwujacego` TINYINT(3) NULL DEFAULT '0' , `kod_rodziny` VARCHAR(255) CHARACTER SET 'utf8' COLLATE 'utf8_polish_ci' NULL DEFAULT NULL , `skr_prezentu` VARCHAR(255) CHARACTER SET 'utf8' COLLATE 'utf8_polish_ci' NULL DEFAULT NULL , `koszt` INT(10) UNSIGNED NULL DEFAULT NULL , `szczegoly` TEXT CHARACTER SET 'utf8' COLLATE 'utf8_polish_ci' NULL DEFAULT NULL , `link` VARCHAR(255) CHARACTER SET 'utf8' COLLATE 'utf8_polish_ci' NULL DEFAULT NULL , `mini_fotka` VARCHAR(255) CHARACTER SET 'utf8' COLLATE 'utf8_polish_ci' NULL DEFAULT 'foto_dir/noimage.png' , `rezerwacja` VARCHAR(1) CHARACTER SET 'utf8' COLLATE 'utf8_polish_ci' NULL DEFAULT NULL , `realizacja` VARCHAR(1) CHARACTER SET 'utf8' COLLATE 'utf8_polish_ci' NULL DEFAULT NULL , `typ_prezentu` VARCHAR(25) CHARACTER SET 'utf8' COLLATE 'utf8_polish_ci' NULL DEFAULT 'prezent' , `dt_dodania` DATE NULL DEFAULT NULL , `dt_realizacji` DATE NULL DEFAULT '0000-00-00' , PRIMARY KEY (`id_prezentu`) , UNIQUE INDEX `id_prezentu` (`id_prezentu` ASC) ) ENGINE = MyISAM AUTO_INCREMENT = 0 DEFAULT CHARACTER SET = utf8 COLLATE = utf8_polish_ci; -- ----------------------------------------------------- -- Table `prezentownik`.`pre_uzytkownicy` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `prezentownik`.`pre_uzytkownicy` ( `id_uzytkownika` TINYINT(3) UNSIGNED NOT NULL AUTO_INCREMENT , `imie` VARCHAR(20) CHARACTER SET 'utf8' COLLATE 'utf8_polish_ci' NULL DEFAULT NULL , `nazwisko` VARCHAR(20) CHARACTER SET 'utf8' COLLATE 'utf8_polish_ci' NULL DEFAULT NULL , `email` VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_polish_ci' NULL DEFAULT NULL , `uzytkownik` VARCHAR(32) CHARACTER SET 'utf8' COLLATE 'utf8_polish_ci' NULL DEFAULT NULL , `haslo` VARCHAR(32) CHARACTER SET 'utf8' COLLATE 'utf8_polish_ci' NULL DEFAULT NULL , `dt_rejestracji` DATETIME NULL DEFAULT NULL , `dt_logowania` DATETIME NULL DEFAULT NULL , `ilosc_logowan` INT(1) NULL DEFAULT '0' , `blokada` VARCHAR(1) CHARACTER SET 'utf8' COLLATE 'utf8_polish_ci' NULL DEFAULT NULL , `uprawnienia` VARCHAR(1) CHARACTER SET 'utf8' COLLATE 'utf8_polish_ci' NULL DEFAULT NULL , `kod_rodziny` VARCHAR(255) CHARACTER SET 'utf8' COLLATE 'utf8_polish_ci' NULL DEFAULT NULL , PRIMARY KEY (`id_uzytkownika`) ) ENGINE = MyISAM AUTO_INCREMENT = 0 DEFAULT CHARACTER SET = utf8 COLLATE = utf8_polish_ci; -- ----------------------------------------------------- -- Table `prezentownik`.`pre_wiadomosci` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `prezentownik`.`pre_wiadomosci` ( `id_wiadomosci` INT NOT NULL AUTO_INCREMENT , `id_uzytkownika` INT(11) NULL , `do_kogo` INT(11) NULL , `temat` VARCHAR(100) NULL , `tresc` TEXT NULL , `status` INT(1) NULL , `priorytet` INT(1) NULL , `dt_dodania` DATE NULL , `kod_rodziny` VARCHAR(255) NULL , PRIMARY KEY (`id_wiadomosci`) ) ENGINE = MyISAM DEFAULT CHARACTER SET = utf8 COLLATE = utf8_polish_ci; SET SQL_MODE=@OLD_SQL_MODE; SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
Jeśli będą wam potrzebne inne dane lub coś wytłumaczyć , to mogę napisać. Założenia aplikacji , albo już piszę
1. Możliwość, logowania, rejestracji , oraz zmiany hasła
2. Podział rodzinny i możliwość wybierania do której rodziny chce się należeć
3. Użytkownik nie należący do danej rodziny nie może wysyłać komunikatów i nie widzi prezentów z rodzin do których nie należy
4. Użytkownik widząc prezent , może go sobie zarezerwować i zabrać z głównego koszyka do siebie ( prezenty zarezerwowane )
5. Osoba umieszczająca prezent może go wycofać jeśli tylko nie jest zarezerwowany ( jeśli ma rezerwację może wysłać powiadomienie, ale nie wie do kogo i poprosić o zwolnienie swojego prezentu uzasadniając to informacją)
6. Użytkownicy , mogą zwalniać prezenty i umieszczać je w głównym koszu
7. Użytkownicy mogą edytować swoje dane ( imię nazwisko hasło, kod_rodziny)
Co Wy na to, jakaś pierwsza wersja już tego jest, ale jeszcze dużo do dopracowania w niej.
Dzięki za pomoc lub wskazówki