Jump to content
php.lv forumi

Sludinājumu db


Kristabs

Recommended Posts

Sveiki! Taisu sludinājumus un nevaru izdomāt pareizo variantu, kā strukturizēt datus. Respektīvi sludinājumi ir kā ss.lv vai dr.lv, kur katrai kategorija ir savi datu lauki, piemēram, automašīnām ir marka, modelis, etc, bet nekustamajiem īpašumiem. Viena doma ir taisīt katram savus teiblus, bet otrā gadījumā vienu teiblu apmēram ID|sludID|opt|value .

Man pašam liekas, ka jātaisa ir viens teibls defoultajiem sludinājumiem, kuri ir nosaukums, cena, apraksts un tad opt|value teiblu priekš īpašajiem sludinājumiem, kā nekustamais īpašums, transports, datori. Kādi ieteikumi?

Link to comment
Share on other sites

Nu parasti to dara sekojoši...

 

Categories

Options (opciju definīcijas: tips, garums, validācija)

CategoryOptions (1:N kategorija-opcija - visas opcijas, kas buus raksturigas shai kategorijai)

Items (pashi sludinajumu - cena un etc general lauki)

ItemOptions (pashas opcijas)

 

Lai realizētu meklēšanu, tad tur jātaisa kaut kāds cache-mehānisms...

 

Varu uzreiz pačukstēt arī par to, ka pašas lapas arī tiek ģnerētas - gatavs HTML ar lapušu sadalītāju - pie katras pievienošanas, kategorijas Item-u lapas tiek pārģenerētas... (ar visām kolonnām un t.t.) Tas ievērojami uzlabo performanci...

Link to comment
Share on other sites

  • 4 months later...
Options (opciju definīcijas: tips, garums, validācija)

 

Vai var ludzu kadu mazu piemeru par tiem Options, opciju definicijām, nekādīgi nevau iebraukt - :) Nesaprotu kapec lietderigi kategorijai noteikt kaut kadu garumu- iepsejams, ka ne taja virziena domaju! Paldies!

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...

Padalīšos ar dažām atziņām, par to, kā NEVAJAG taisīt:

 

1) Katram tipam savu tabulu (ti, kopīgie lauki tabulā sludinajumi, un specifiskie - auto_sludinajumi (marka, krāsa), dzivoklu_sludinajumi (istabu skaits, stāvs, utt.) Tā struktūra darbojas ļoti jauki, līdz klientam sagribēsies pievienot vēl pāris tipus (nekustamajam īpašumam - zemes platību, utt.) Problēma tā, ka dzīvokļiem nav 'zemes platība' un mežam nav 'istabu skaits'. Tātad, vai nu mums ir tabulas, kurās viena daļa lauku ir tukša (ja ir kopīga tabula nek. īpašumam) vai arī (ja ir atsevišķas tabulas gan dzīvokļiem, gan mežam, utt) ir ļoti daudz tabulu. Jebkurā gadījumā, vēlāk būs ļoti grūti pievienot jaunus laukus esošajiem sludinājumiem - vajadzēs pārrakstīt SQLus un taisīt jaunas tabulas vai laukus. Tas būtībā nozīmē, ka lapas administrators jaunus laukus nevarēs pievienot.

 

2) Redzēju šo variantu pirms dažiem mēnešiem. Vairs neatceros, kuram no abiem portāliem (ss.lv vai reklama.lv) uz neilgu laiku HTML kodā bija pieejams komentārs ar izpildītajiem SQL kverijiem. Tur bija kaut kas apmēram tāds:

 

SELECT a1, a2, a3, a4, a5 FROM advertisements WHERE a34='dzīvoklis' AND a7='2'

 

Ģeniāls risinājums - visu samočīt vienā lielā tabulā. Programmētājam tas nozīmē stabilu darbu - neviens viņu neatlaidīs, jo jebkurš cits šādā kodā uzreiz nolauztu kaklu.

Link to comment
Share on other sites

Nu jā, par pašreizējo reklama.lv struktūru var lieliski spriest, paspēlējoties ar mainīgajiem (piem. http://www.reklama.lv/lv/data/realty/apart...uju/table.html). Tas ir, mainīgajos ieliekot pāris pēdiņas. Lūdzu nevainot mani, ja kāds script-kiddie tagad palaidīs sql-injection attack'u.

Edited by black
Link to comment
Share on other sites

×
×
  • Create New...