eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingproblem projektowy w aplikacji bazodanowejproblem projektowy w aplikacji bazodanowej
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsgate.m10r2.
    onet.pl!niusy.onet.pl
    From: j...@p...onet.pl
    Newsgroups: pl.comp.programming
    Subject: problem projektowy w aplikacji bazodanowej
    Date: Thu, 29 Sep 2011 13:55:10 +0200
    Organization: Onet.pl
    Lines: 83
    Sender: n...@n...onet.pl
    Message-ID: <2...@n...onet.pl>
    NNTP-Posting-Host: newsgate.m10r2.onet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset="iso-8859-2"
    Content-Transfer-Encoding: 8bit
    X-Trace: newsgate.onet.pl 1317297311 5553 213.180.150.14 (29 Sep 2011 11:55:11 GMT)
    X-Complaints-To: n...@o...pl
    NNTP-Posting-Date: Thu, 29 Sep 2011 11:55:11 +0000 (UTC)
    Content-Disposition: inline
    X-Mailer: http://niusy.onet.pl
    X-Forwarded-For: 83.28.122.136, 10.174.28.51
    X-User-Agent: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.2.17) Gecko/20110422
    Ubuntu/9.10 (karmic) Firefox/3.6.17
    Xref: news-archive.icm.edu.pl pl.comp.programming:192538
    [ ukryj nagłówki ]

    Tworzę w PHP+MySQL witrynę o nieruchomościach i mam pewien problem projektowy.
    Na stronie głównej jest lista drop-down z rodzajami nieruchomości (mieszkanie,
    kawalerka, itd.). Poniżej jest formularz z danymi nieruchomości (miejscowość,
    rok budowy, czy jest garaż, itp.). Zrobiłem tak, że w zależności od wybranego
    rodzaju nieruchomości, pokazują się różne pola z danymi (np. dla budynku jest
    liczba pięter, a dla kawalerki - nie).
    W bazie danych mam:

    CREATE TABLE `ogloszenia`.`estate_types` (
    `estate_type_id` varchar(5) NOT NULL COMMENT 'Rodzaj nieruchomosci',
    `estate_type_name` varchar(33) NOT NULL COMMENT 'Nazwa rodzaju nieruchomosci',
    PRIMARY KEY (`estate_type_id`),
    KEY `index_estate_type_name` (`estate_type_name`) USING BTREE
    ) ENGINE=MyISAM DEFAULT CHARSET=latin2 COMMENT='Rodzaje nieruchomosci'

    CREATE TABLE `ogloszenia`.`estate_types_visibility` (
    `estate_type_id` varchar(5) NOT NULL COMMENT 'Identyfikator rodzaju
    nieruchomosci',
    `use_region` varchar(2) NOT NULL DEFAULT '+' COMMENT 'Widocznosc pola
    wojewodztwa',
    `use_town` varchar(25) NOT NULL DEFAULT '+' COMMENT 'Widocznosc pola
    miejscowosci',
    `use_district` varchar(25) NOT NULL DEFAULT '+' COMMENT 'Widocznosc pola
    dzielnicy',
    `use_address` varchar(1) NOT NULL DEFAULT '+' COMMENT 'Widocznosc pola adresu',
    `use_floor_no` varchar(5) NOT NULL DEFAULT '+' COMMENT 'Widocznosc pola numeru
    pietra',
    `use_floors` varchar(5) NOT NULL DEFAULT '+' COMMENT 'Widocznosc pola liczby
    pieter',
    `use_area` varchar(11) NOT NULL DEFAULT '+' COMMENT 'Widocznosc pola powierzchni',
    `use_rooms` varchar(10) NOT NULL DEFAULT '+' COMMENT 'Widocznosc pola liczby
    pokoi',
    `use_offices` varchar(10) NOT NULL DEFAULT '+' COMMENT 'Widocznosc pola liczby
    pomieszczen',
    `use_year_built` varchar(5) NOT NULL DEFAULT '+' COMMENT 'Widocznosc pola roku
    budowy',
    `use_ownership` varchar(3) NOT NULL DEFAULT '+' COMMENT 'Widocznosc pola formy
    wlasnoËści',
    `use_standard` varchar(2) NOT NULL DEFAULT '+' COMMENT 'Widocznosc pola
    standardu',
    `use_house` varchar(1) NOT NULL DEFAULT '+' COMMENT 'Widocznosc pola domka
    letniskowego',
    `use_buildings` varchar(1) NOT NULL DEFAULT '+' COMMENT 'Widocznosc pola
    zabudowan',
    `use_garrage` varchar(1) NOT NULL DEFAULT '+' COMMENT 'Widocznosc pola garazu',
    `use_parking` varchar(1) NOT NULL DEFAULT '+' COMMENT 'Widocznosc pola miejsca
    parkingowego',
    `use_kitchen` varchar(1) NOT NULL DEFAULT '+' COMMENT 'Widocznosc pola widnej
    kuchni',
    `use_balcony` varchar(1) NOT NULL DEFAULT '+' COMMENT 'Widocznosc pola balkonu',
    `use_gas` varchar(1) NOT NULL DEFAULT '+' COMMENT 'Widocznosc pola gazu',
    `use_current` varchar(1) NOT NULL DEFAULT '+' COMMENT 'Widocznosc pola prÂĄdu',
    `use_sewerage` varchar(1) NOT NULL DEFAULT '+' COMMENT 'Widocznosc pola
    kanalizacji',
    `use_furniture_type` varchar(3) NOT NULL DEFAULT '+' COMMENT 'Widocznosc pol
    umeblowania',
    `use_equipment` varchar(8) NOT NULL DEFAULT '+' COMMENT 'Widocznosc pol
    wyposazenia',
    `use_guard` varchar(1) NOT NULL DEFAULT '+' COMMENT 'Widocznosc pola ochrony',
    `use_pictures` varchar(1) NOT NULL DEFAULT '+' COMMENT 'Widocznosc pol zdjec /
    filmow',
    `use_remarks` varchar(1) NOT NULL DEFAULT '+' COMMENT 'Widocznosc pola
    dodatkowego opisu'
    ) ENGINE=MyISAM DEFAULT CHARSET=latin2 COMMENT='Widocznosc pol zaleznych od
    rodzaju nieruchomosci'

    Mój problem polega na tym, że nie jestem pewien czy informacja o widoczności pól
    powinna być przechowywana w bazie danych (tabela estate_types_visibility). Może
    wystarczyłaby tablica JavaScriptowa używana przez funkcję
    onchange="showPropertyRows()"? Zrobiłem przechowywanie tych informacji w bazie
    danych ponieważ kluczem jest:
    `estate_type_id` varchar(5) NOT NULL COMMENT 'Identyfikator rodzaju nieruchomosci'
    Zatem tyle jest rekordów ile rodzajów nieruchomości. Gdybym nie miał tabeli w
    bazie danych (a tylko tablicę JavaScriptową), to musiałbym przy każdej zmianie
    słownika rodzajów nieruchomości zaktualizować kod JavaScript, a tak wystarczy,
    że zmienię wpisy w bazie danych (w obu tabelach), bo stosowną tablicę
    JavaScriptową dla showPropertyRows() generuję PHPem.
    Potrzebuję waszej opinii: które rozwiązanie jest lepsze: z tabelą
    estate_types_visibility czy bez?
    Byłbym wdzięczny za pomoc.

    --
    Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

  • 29.09.11 18:08 lolo

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: