Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Dodavanje polja u bazu kroz CMS

[es] :: PHP :: Dodavanje polja u bazu kroz CMS

[ Pregleda: 2611 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sheik
Vanja Al Halidi
executive director, Implementek
Beograd

Član broj: 104596
Poruke: 58
*.static.sbb.rs.

Sajt: www.implementek.com


Profil

icon Dodavanje polja u bazu kroz CMS06.05.2008. u 13:23 - pre 194 meseci
Pozdrav svima,

Radim jedan property rent/sell sajt.
Svaki Property ima odgovarajuca polja u bazi (ime, lokaciju, broj soba ....) prema kojima se moze vrsiti search i advanced search.

E sad, klijent zeli da samostalno, kroz CMS, po potrebi doda dodatna polja (karakteristike) property-ja koji ce kasnije takodje uci u opcije pretrage.

Ne znam da li je to uopste moguce. Trenutno nemam ideju kako bih to resio. Mozda neko od vas moze da mi pomogne

pozdrav
Vanja
Ako hvatas male ribice, mozes da ostanes u plicaku, za veliku ribu, moras da zagazis dublje !
 
Odgovor na temu

kelja

Član broj: 70429
Poruke: 1416
91.150.98.*



+35 Profil

icon Re: Dodavanje polja u bazu kroz CMS06.05.2008. u 16:47 - pre 194 meseci
Hm, mnogo varijabli, moglo bi to, pretpostavljam, ali je zaheb...
(varijable- tip polja, ime, vrsta pretrage...)

Da ti ipak probas da dogovoris sa klijentom spisak mogucih karakteristika, i da napravis bazu koja ce sadrzati sva moguca polja/karakteristike, cija bi default vrednost bila, recimo, ''0'' ako su nesikoriscena, pa ih ne bi izlistavao/vrsio pretragu kroz njih u tom slucaju, a ako su iskoriscena onda radis i ispis i pretragu...

A on u admin panelu moze recimo da cekira koje ce opcije biti ukljucene i za koje imanje/kucu?

Mislim, nisu valjda ta imanja tako specificna da se ne bi mogao napraviti neki konacni spisak karakteristika?

Ne znam da li sam pomogao, ali valjda nije naskodilo...

 
Odgovor na temu

mb_sa

Član broj: 50529
Poruke: 172
89.146.176.*



Profil

icon Re: Dodavanje polja u bazu kroz CMS06.05.2008. u 19:02 - pre 194 meseci
Ako sam te dobro shvatio, mislim da je tako nesto slicno rješeno u OSCommerce e-shopu. Radi se o opciji Products Attributes, pa pogledaj u administraciji kako je to kod njih rješeno (jako je konfuzno rješeno, ali se moze to bolje uraditi), a onda pogledaj i strukturu tabela (to je on sto tebi treba). Konkretno kod njih je to recimo: imas proizvod, a onda imas osobine za njega (boja, militraza i slicno) i imas opcije za pojedine osobine (boja: crna, crvena ..., militraza: 30, 60, 90 ml, ...). Sa ovim mozes postici da svaki proizvod moze imati razlicite osobine i opcije. Recimo za parfeme koristis militraze, a za majice ponudis boje i velicine ...
 
Odgovor na temu

agvozden
Aleksandar Gvozden
founder
Info-G
Beograd

Član broj: 37813
Poruke: 1123
*.ptt.yu.

Sajt: www.gvozden.info


+68 Profil

icon Re: Dodavanje polja u bazu kroz CMS07.05.2008. u 08:31 - pre 194 meseci
Ja koristim custom fields na foru cross fields-a - nesto slicno kako to radi ms access.
onda u bazu smestam samo polja koja su popunjena.

pretraga se radi sa join tabela, ali ovo moze biti problem ukoliko se ima vise stotina hiljada zapisa. u takvim bazama ne radim pretragu po tim poljima, barem ne na nacin sa direktnim sql upitom nad ovim tabelama vec pomocu tabela sa indeksiranjem kljucnih reci...
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
*.dynamic.sbb.rs.

Sajt: norway.dakipro.com


+190 Profil

icon Re: Dodavanje polja u bazu kroz CMS07.05.2008. u 08:42 - pre 194 meseci
Aleksandre, moze li jos malo infoa kako to radis na "foru cross fields-a" ?
Sa dodatnom tabelom sa poljima ili...?
 
Odgovor na temu

agvozden
Aleksandar Gvozden
founder
Info-G
Beograd

Član broj: 37813
Poruke: 1123
*.ptt.yu.

Sajt: www.gvozden.info


+68 Profil

icon Re: Dodavanje polja u bazu kroz CMS08.05.2008. u 08:16 - pre 194 meseci
radi se sa dodatnom tabelom:

Code:
CREATE TABLE `bgs_ads_custom` (
  `ads_id` int(9) unsigned NOT NULL,
  `name` varchar(20) NOT NULL,
  `value` varchar(255) default NULL,
  KEY `ads_id` (`ads_id`,`name`)
) ENGINE=MyISAM;


uradim upit i rezultate smestam u asocijativni niz
Code:
$this->custom[$row['name']] = $row['value'];


vrednost je uvek tekst polje (255), pa je to malo nezgodno za pretragu kod velikih tabela. Ali ovo koristim uglavnom za dodatna, deskriptivna polja koja se nece koristiti u direktnoj pretrazi. Ukoliko je potrebno i njih pretrazivati onda je potrebna tabela sa kljucnim recima...

 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
*.dynamic.sbb.rs.

Sajt: norway.dakipro.com


+190 Profil

icon Re: Dodavanje polja u bazu kroz CMS08.05.2008. u 08:33 - pre 194 meseci
Ok, hvala. Kontao sam da tako i radi, al reko aj da pitam, mozda ima nesto sto mi nije palo napamet.
Sta mislis da li bi mozda pomoglo/zakomplikovalo ako bi naziv polja drzao u posebnoj tabeli, a same vrednosti u posebnoj? mislim, smanjila bi se redundanca, ali bi verovatno opale performanse zbog dodavanja jos jedne tabele i novog joinovanja prilikom pretrage?
Mada, mozda bi pretraga isla i malo brze, jer bi onda tvoja tabela bila

Code:

CREATE TABLE `bgs_ads_custom` (
  `ads_id` int(9) unsigned NOT NULL,
  `fk_name_id` int(11) NOT NULL,
  `value` varchar(255) default NULL,
  KEY `ads_id` (`ads_id`,`fk_name_id`)
) ENGINE=MyISAM;


pa bi samo trazio po poljima where fk_name_id = xx AND value= yy ?
Imam ja ovo vec ovako odradjeno, sta vise, imam cak i var_value, bol_values, int_value, txt_value kao dodatno prosirenje koje mi omogucava da cuvam druge tipove podataka u dodatnoj tabeli sa stvarnom vrednostima. Onda ova tvoja tabel izgleda:

Code:

CREATE TABLE `bgs_ads_custom` (
  `ads_id` int(9) unsigned NOT NULL,
  `fk_name_id` varchar(20) NOT NULL,
  `var_value` varchar(255) default NULL,
  `bol_value` tinyint(1) default NULL,
  `int_value` int(11) default NULL,
  `txt_value` text default NULL,
  KEY `ads_id` (`ads_id`,`fk_name_id`)
) ENGINE=MyISAM;


Trenutno sam u fazi debele reorganizacije koda, pa hocu da ga maximalno optimizujem, a nisam previse jak sa mysql-om.
Znaci, da li je optimizovanije drzati nazive polja u jednoj tabeli a stvarne vrednosti po itemu u drugoj?
Takodje da li drzanje 4 tipova polja u jednom redu utice na performanse, jer su uvek druga 3 polja prazna?
Ako je ovaj slucaj ok, kako bi isla pretraga ondak po ovako organizovanim dodatnim poljima?
Mozda bih mogao i da postavim novu temu, ko zna...
Vidim da se ovo cesto postavlja kao pitanje, pa da svi to razradimo i testiramo jednom za svagda, da ubuduce ljudi znaju kako (se) ovo radi.
 
Odgovor na temu

sheik
Vanja Al Halidi
executive director, Implementek
Beograd

Član broj: 104596
Poruke: 58
*.static.sbb.rs.

Sajt: www.implementek.com


Profil

icon Re: Dodavanje polja u bazu kroz CMS08.05.2008. u 10:10 - pre 194 meseci
Moram da priznam da mi nije bas najjasnije ovo resenje. :)

Citat:
pretraga se radi sa join tabela, ali ovo moze biti problem ukoliko se ima vise stotina hiljada zapisa. u takvim bazama ne radim pretragu po tim poljima, barem ne na nacin sa direktnim sql upitom nad ovim tabelama vec pomocu tabela sa indeksiranjem kljucnih reci...


U pitanju je tabela u kojoj se ocekuje oko 1000 - 2000 zapisa.
Ne stojim bas najbolje sa MySQL-om pa molim za dodatno objasnjenje, kako napraviti pretragu baze po dodatnim poljima?


Ako hvatas male ribice, mozes da ostanes u plicaku, za veliku ribu, moras da zagazis dublje !
 
Odgovor na temu

[es] :: PHP :: Dodavanje polja u bazu kroz CMS

[ Pregleda: 2611 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.