Jump to content
php.lv forumi

Galerijas MySQL struktūra


azpage

Recommended Posts

Taisos vedod labu galeriju izmantojot php un MySQL. Galerijaa gribu uztaisiit iespeeju gan bildeem pievienot komentaarus, gan skriptu kas skaita cik reizes bilde ir atveerta, bilzhu mekleeshanu- to peedeejo, jo tas man liekas maz tiek izmantots. Gribu arii galerijaa peec tam likt iekshaa ekraana tapetes, protams dazhaadaam ekraana izkirtspeejaam, bet gribeetu taa lai visas iespeejamaas izkirtspeejas viena bildei, paraadas zem vienas bildes.

 

Buutiibaa gribu galeriju taadu kaa www.wallpapers.lv apvienojumaa ar lietotaaju iesuutiitaam bildeem, kuraam ir dazhaadi izmeeri.

 

Kaads vareetu pateikt kaadas vareetu buut tabulu struktuuras, vai arii web-adreses kur informaaciju vareetu atrast par shito lietu?

Link to comment
Share on other sites

  • Replies 31
  • Created
  • Last Reply

Top Posters In This Topic

tabula Bilde:

ID - INT

CELJS_UZ_BILDI - VARCHAR(200) (bildes liec uz servera kautkādā direktorijā)

BILDES_TIPS - VARCHAR(200) (image/png, image/gif ...)

VIEW_COUNT INT

 

tabula Komentaars:

ID - INT

BILDES_ID - INT

VARDS - VARCHAR(100)

TEKSTS - TEXT

 

Vairāk nemaz nekas nesanāk pēc tavām prasībām. Vēl tikai pašam jāpadomā kad/kur un kā ielikt/labot informāciju šajās tabulās

Link to comment
Share on other sites

Man gribētos nedaudz papildināt bubu piedāvāto:

Tātad ir Objekts, kuram ir apraksts un par kuru var iesniegt komentārus; šis objekts, savukārt, varētu saturēt vairākas bildes (pēc ieceres domāts, ka bviena un tā pati bilde, tikai dažādās izšķirtspējās, bet neviens neliedz likt pilnīgi dažādas bildes).

 

tabula Bilde:

ID - INT

OBJEKTA_ID - INT

CELJS_UZ_BILDI - VARCHAR(200) (bildes liec uz servera kautkādā direktorijā)

BILDES_TIPS - VARCHAR(200) (image/png, image/gif ...)

VIEW_COUNT INT

DIMENSIJAX - INT dimensijas varētu arī salikt kā enum, ja ir skaidri zināmi tie bilžu iespējamie lielumi.

DIMENSIJAY - INT

 

tabula Komentaars:

ID - INT

OBJEKTA_ID - INT

VARDS - VARCHAR(100)

TEKSTS - TEXT

 

tabula Objekts:

ID - INT

Apraksts - TEXT

Link to comment
Share on other sites

Nu tad, jā - tādā gadījumā komentārus var piesaistīt tikai bildēm, vai arī ieviest vēl vienu lauku komentāra tips, atkarībā no kura komentārs attiecas uz objektu vai uz bildi (teiksim tips = 0 - bildei, tips = 1 - objektam).

Link to comment
Share on other sites

Ar papildus lauki ir laba ideja. Tik taalu man viss skaidrs. Tagad vajadzeetu iebraukt kaa uztaisiit php skriptus. Varbuut kaads vareetu pateikt adreses, kur var izlasiit informaaciju par bilzhu galerijaam. Negribu gatavas citu galerijas. Bet gribeetu kautko liidziigu foto.inbox + wallpapers.lv galerijai. Esmu skatiijies populaaraakas gatavaas galerijas un tur tabulas arii tiek glabaatas direktorijas kur glabaajas bildes, un vel papildus tabulas kur glabaajas visas bildes celji un to pievienoshanas datumi. Taada liidziiga struktuura vareetu buut inboxaa. Gribeetu ieguut siikaaku informaaciju par taadu galeriju struktuuraam.

 

Varbuut kaads var ieteikt paaris adreses, kur vareeetu atrast informaaciju.

Link to comment
Share on other sites

Nu tad, jā - tādā gadījumā komentārus var piesaistīt tikai bildēm, vai arī ieviest vēl vienu lauku komentāra tips, atkarībā no kura komentārs attiecas uz objektu vai uz bildi (teiksim tips = 0 - bildei, tips = 1 - objektam).

šitais nav labi, tur slikts ER modelis sanāk.

a par to Objekta ID, gan nezinu, kāpēc tādu vajag (bildei tak identifikators ir ID lauks). vienīgi to bildes aprakstu kā TEXT lauku bildes tabulā aizmirsu ielikt (kāpēc viņš jaunā tabulā jāglabā?) un BILDE_ID lauku komentāru tabulā aizmirsu! :) A tās dimensijas kāpēc jāglabā? tak var no pašas bildes faila dabūt laukā!

Link to comment
Share on other sites

Atsevišķu objektu tādēļ, lai:

bet gribeetu taa lai visas iespeejamaas izkirtspeejas viena bildei, paraadas zem vienas bildes.
šitais nav labi, tur slikts ER modelis sanāk.

Iespējams, bet kā tu ieteiktu? :) Starp citu kāpēc slikts? Kurai normālformai neatbilst?

 

Par dimensijām... var neglabāt - tikai tad zināmi resursi jāpatērē katru reizi nolasot no failiem to izmērus. Bez tam, kā neglabājot bāzē norealizēt, piemēram, 800x600px attēlu atlasīšanu.

Link to comment
Share on other sites

a par to Objekta ID, gan nezinu, kāpēc tādu vajag (bildei tak identifikators ir ID lauks). vienīgi to bildes aprakstu kā TEXT lauku bildes tabulā aizmirsu ielikt (kāpēc viņš jaunā tabulā jāglabā?) un BILDE_ID lauku komentāru tabulā aizmirsu!

 

Manupraat bildes Objekta ID ir nepiecieshams taadeel, ka var buut taa ka lietotaajs ir atsuutiijis kaadas 10 bildes bet visaam kopeejs viens stasts. Piem liidziigi ir zive.lv galerijaa

 

Tur man liekas, ka vienas tabulas struktuura vareetu buut taada:

 

id

directory_path - direktorijas celsh

text - teksts visaam bildeem

img_count - bilzhu skaits direktorijaa

...

 

un tabula ar bildeem vareetu buut taada

 

id

dir_id - direktorijas id kuraa shii bilde atrodas

img_path - bides atrashanaas vieta direktorijaa ar id dir_id

comments - komentaaru daudzums

views

...

 

Kaa jums liekas shii ideja? Tikai kaa lai tagad izdaru to ka zem viena veida bildes paraada citu izmeeru bildes, ja taadas ir, piem

 

bilde1.jpg

----------

links1 uz 640x480

links2 uz 800x600

links3 uz 1200x800

...

 

?

Link to comment
Share on other sites

Kaa jums liekas shii ideja? Tikai kaa lai tagad izdaru to ka zem viena veida bildes paraada citu izmeeru bildes, ja taadas ir, piem

 

bilde1.jpg

----------

links1 uz 640x480

links2 uz 800x600

links3 uz 1200x800

...

 

?

Uztaisi skriptu, kuram padod bildes id un izšķirtspēju kādu vajag, un tad tikai tajā skriptā nolasi bildi un pamaini izšķirtspēju. Protams, būs noslodze uz serveri, ja daudzi lietotāji kačās dažādu izmēru bildes, tāpēc pie uploada vari saglabāt bildes jau dažādos izmēros

Link to comment
Share on other sites

Iespējams, bet kā tu ieteiktu? :) Starp citu kāpēc slikts? Kurai normālformai neatbilst?

Ar normālformu viss ir ok, bet veidojas tā sauktā arka, kad arējā atslēga var iet vai nu uz vienu entīti vai uz citu, kas bieži (ne vienmēr) vien negatīvi atsaucas uz ātrdarbību.

Es ieteiktu tā kā jau teicu, TEXT lauks pie bildes ar aprakstu, un komentāri visi citā entītē ar savu TEXT lauku un ārējo atslēgu uz bildžu entītēm.

Link to comment
Share on other sites

Uztaisi skriptu, kuram padod bildes id un izšķirtspēju kādu vajag, un tad tikai tajā skriptā nolasi bildi un pamaini izšķirtspēju. Protams, būs noslodze uz serveri, ja daudzi lietotāji kačās dažādu izmēru bildes, tāpēc pie uploada vari saglabāt bildes jau dažādos izmēros
Man jau ir taada ideja, ka uzreiz pie bilzhu uploada tiek izveidoti mazaaki izmeeri, ja ir nepiecieshami un uzreiz tiek saglabaati datubaazee. Taa arii neesmu iebraucis iisti pa taam dazhaada izmeera bildeem, vai kaads vareetu luudzu pateikt kaa tabulaa wallpapers.lv lapaa tiek glabaata viena bilde ar dazhaadaam izkirtspeejaam?

 

Ar normālformu viss ir ok, bet veidojas tā sauktā arka, kad arējā atslēga var iet vai nu uz vienu entīti vai uz citu, kas bieži (ne vienmēr) vien negatīvi atsaucas uz ātrdarbību.

Es ieteiktu tā kā jau teicu, TEXT lauks pie bildes ar aprakstu, un komentāri visi citā entītē ar savu TEXT lauku un ārējo atslēgu uz bildžu entītēm.

 

bubu, bet ko dariit tad ja zem viena teksta ir kaadas 10 bildes, tad jau nav jeegas ka katrai bildei ir teksts. Labaak albuumam kopeeju tekstu, un albuums saturees visas bildes, kuras paradiisies zem teksta, nevis katrai bildei.

Link to comment
Share on other sites

Man jau ir taada ideja, ka uzreiz pie bilzhu uploada tiek izveidoti mazaaki izmeeri, ja ir nepiecieshami un uzreiz tiek saglabaati datubaazee. Taa arii neesmu iebraucis iisti pa taam dazhaada izmeera bildeem, vai kaads vareetu luudzu pateikt kaa tabulaa wallpapers.lv lapaa tiek glabaata viena bilde ar dazhaadaam izkirtspeejaam?
Viens variants ir uztaisīt trīs laukus bildes tabulā: 800x600, 1024x768 un 1280x1024 izšķirtspējām. Vienkāršākais variants, bet ne fleksibls. Grūti būs kautko pēc tam uzlabot. Ja grib unviersālu, tad vajag jaunu tabulu, kurā ir ceļš uz bildi, bildes izmēra ID, vai tekstuāls apraksts un bildes ID, kurai tad īsti bildei no bilžu tabulas tas atbilst. Šo jau nu pats varēji izdomāt, nekā ūbersarežģīta te nava.

 

bubu, bet ko dariit tad ja zem viena teksta ir kaadas 10 bildes, tad jau nav jeegas ka katrai bildei ir teksts. Labaak albuumam kopeeju tekstu, un albuums saturees visas bildes, kuras paradiisies zem teksta, nevis katrai bildei.

 

Ja iet runa par albūmiem, tad protams, ka vajadzēs jaunu tabulu Albūms, kuram būs lauki ID un TEXT ar aprakstu, savukārt pie katras bildes, būs tā albūma ID, kuram pieder.

Link to comment
Share on other sites

esmu saveidojis vienu projektu, kurā datubāzē tiek glabāts tikai bildes nosaukums, bet dažādie bilžu izmēri tiek glabāti attiecīgi /thumbs, /medium un /large direktorijās

Link to comment
Share on other sites

Esmu nopietni beidzot piekeeries galerijas taisiishanai, paaris skriptus jau esmu uztaisiijis. Tachu, vel jo projaam nevaru izdomaat, kaa pareizi uztaisiit, lai bildes, kuram ir dazhaadi izmeeri paraadaas zem vienas bildes, un pec tam var izveeleeties, kuru kopeet.

 

Uzrakstiiju abu tabulu struktuuras, kaadi lauki buutu vel nepiecieshami, vai arii kuri ir nevajadziigi un kas vajadziigs buutu lai panaaktu ka viss straadaa ar taam dazhaadaam izkirtspeejaam.

 

g_galleries

id

gallery_id - galerijas id, kuraa shii galerija atrodas, piraa liimenja galerijai sheit ir 0

title - galerijas virsraksts

description - iis apraksts galerijai, kas paradiisies zem title

text - galerijas teksts, siiks apraksts par visaam bildeem, piemeeram par celjojumu un attieciigi klaat ir visas bildes

status - bus vertiibas (0,1,2...), kuras noziimees vai galerija ir redzama, vai nepiecieshama autorizaacija, lai to apskatiitu utt

views - cik reizes apskatiita

galleries - cik apaksgalerijas satur

images - cik bildes

author - lietotaaja id, kursh atsuutiijis bildes- sho galeriju

last_action - peedeejas darbiibas- peedeejaas bildes uploada datums

 

g_images

id

gallery_id - galerijas id, kuraa atrodas shii bilde

file - faila nosaukums, direktorijas tiek genereetas atkariibaa no galerijas id.

text - bildes teksts

size - bildes izmers in KB

xwidth - bildes platums

ywidth - bildes augstums

views - cik reizes bilde apskatiita

rate - bildes veerteejums

Link to comment
Share on other sites


×
×
  • Create New...