PDA

View Full Version : ساختار ارسال مطلب در CMS



beh3000
دوشنبه 28 بهمن 1392, 11:46 صبح
سلام دوستان

من دارم یک CMS شخصی مینویسم که تو قسمت ارسال مطلب موندم چیکار کنم توی ادیتور که مشکلی نیست عکس میشه آپلود کرد خب ... ولی به غیر از اون میخوام یک گالری عکس هم هر پست بتونه داشته باشه

عکسهایی که از طریق ادیتور آپلود میشن بصورت بزرگ نشون داده میشن مثلا 500 در 300 و مسیرشون داخل کد html اون مطلب قرار میگیرن ولی عکسهایی که توی گالری عکس آپلود میشن بصورت کوچیک نشون داده میشن و با کلیک کردن روی اونها بزرگ میشن و مسیرشون میخوام توی دیتا بیس ذخیره بشن چون میخوام یک صفحه مخصوص گالری عکس هم داشته باشم که همه عکسهای گالری عکس رو انجا هم نمایش بدم ... این از این

حالا ساختار جدول مطلب رو چیکارش کنم مثلا در نظر بگیرم که هر گالری عکس فرضا حداکثر 15تا عکس داشته باشه و بیام بصورت 15 فیلد در جدول مطلب ذخیرش کنم یا اینکه یه جدول جدا برای گالری عکس در نظر بگیرم و هر گالری عکس هم میتونه نامحدود عکس داشته باشه ...

این شرایط رو برای بازدید روزانه 500000 در نظر بگیرین و تعداد رکوردهای بانک اطلاعاتی هم خیلی زیاده در حد 100 میلیون رکورد چون اگه بصورت فیلد باشه join نیاز نیست ولی اگه گالری عکس یک جدول جدا باشه باید با جدول مطلب join بشه ...

حالا کدوم روش بهتره از نظر شما ؟ از نظر بار روی سیستم ؟ join کردن چقدر باز اضافی ایجاد میکنه نسبت به select خالی ؟

sadegh1362
سه شنبه 29 بهمن 1392, 08:51 صبح
سلام
شما برای اینکه بخوای گالری عکس رو وارد کنید باید منطق پست مطلب را از منطق گالری جدا کنید . در اینجور مواقع باید cms حالت پویا داشته باشه . یعنی شما بتونید یه مازول جدا بسازید (منطق گالری) که به منطق پست اضافه بشه . اونوقتت می شه برای هر post و یک گالری رابطه ارث بری ایجاد کرد و به جای اینکه join کرد همه اطلاعات رو در یک جدول ذخیره کرد . و تنها چیزی که باید در جدول دوم بیاد پارمتر های عکس های موجود در گالری هاست .

فقط زمانی نیاز به join میشه که شما بخواید عکس ها رو تو پست نمایش بدید .

beh3000
سه شنبه 29 بهمن 1392, 19:10 عصر
به نظرتون اگه بیام یک فیلد رشته ای در جدول پست در نظر بگیرم و در اون آرایه ای از آدرس عکس ها رو با یه فرمت خاصی ذخیره کنم که بعدا بتونم واکشی کنمشون خوبه ؟ چقدر اصولیه ؟

sadegh1362
سه شنبه 29 بهمن 1392, 20:07 عصر
خوبه . اما باید ادرس عکس ها رو در جدول عکس ذخیره کنید . و اگر لازمه که در پست ازش استفاده کنید باید ID هر عکس رو در جدول پست به عنوان یک فیلد در نظر بگیرید.

beh3000
چهارشنبه 30 بهمن 1392, 08:23 صبح
میدونم اصولیش اینه که یا آی دی عکس رو در پست ذخیره کنم و یا آی دی پست رو در عکس ذخیره کنم ولی خب باید join کرد دیگه ! .



اونوقتت می شه برای هر post و یک گالری رابطه ارث بری ایجاد کرد و به جای اینکه join کرد همه اطلاعات رو در یک جدول ذخیره کرد .
میشه در این موردی که گفتین بیشتر توضیح بدین ساختار جدول یا جدولها به چه شکلی میشه ؟

***BiDaK***
چهارشنبه 30 بهمن 1392, 10:01 صبح
می تونی اینکارو کنی.یک جدول واسه عکس هات داشته باشی وا داخل این جدول هر چی فیلد داری بذاری.داخل یکی از فیلد ها باید نام عکس رو نگه داری.زمانی عکس آپلود میشه شما مسیر عکس رو میدونید که گالری شما عکس هاش مثلا تو پوشه ی gallery هست.خوب کافیه تو دیتابیس اسم عکسهاتو نگه داری. مثلا عکس با id=1 نامش pic_name.jpg و به همین صورت بقیه هم اینسرت میشن داخل جدول.
واسه نمایش عکس هاتم میتونی بعد از واکشی از دیتابیس به این صورت عمل کنی:

<img src="uploads/thumbs/thumbnails/'.$galleryInfo['pic'].'" alt="'.$galleryInfo['title'].'" width="125" height="125">
مسیر عکس هارو خودم دادم و فقط نام عکس هارو از دیتابیس گرفتم.و طول و عرضی که میدی طول و عرض واقعیه عکس هست و کوچیکش نباید کنی.
حالا میتونی یک جدول جدای دیگه هم واسه دسته بندیشون داشته باشی که اگر اینطور باشه شما باید یک فیلد دیگه تو جدول عکس هاتون بذارید مثلا به اسم cat_id که این فیلد برابر هست با آیدی یک دسته در جدول آلبوم هاتون یا همون دسته بندیهاتون.

beh3000
چهارشنبه 30 بهمن 1392, 14:14 عصر
داداش Bidak چیرو توضیح دادی الان ؟ اینا رو که خودم میدونم .. سوال من اصلا چیز دیگه ایه ؟!!! سوال من : الان من یک پست دارم توی جدول پست . این پست فرض کن 10 تا عکس داره توی یه جدول دیگه که میشه 10 تا رکورد عکی یک با آی دی 1 عکی دو با آی دی 2 و ...

موقع نمایش پست باید دوتا جدول join بشن که اون پست با 10تا عکسش باهم نمایش داده بشن ... حالا من میترسم توی تعداد کاربرای بالا کوئری ها سنگین بشه ( چون این وسط جوین هست ) ... حالا سوال من اینه که سایت های بزرگ هم همین کارو میکنن یا ساختار بهتری هست برای این کار ؟

***BiDaK***
چهارشنبه 30 بهمن 1392, 14:28 عصر
عذر.من اصلا پست اول رو نخونده بودمhttp://comments.persianblog.ir/images/I/24.gif
خوب همونطور که خودت گفتی میتونی همون بصورت رشته تو پست داشته باشی که id عکس ها باشه و یک جدول هم جدا واسه عکس هات.که عملا جوینی هم در کار نیست.
حالا در مورد روش آقا صادق خودشون بیان بگن.:لبخند: