PDA

View Full Version : سوال: نمایپ پست ها در سیستم جامعه مجازی



jionelmessi
پنج شنبه 23 خرداد 1392, 20:50 عصر
با سلام
من پروِه دانشگام ساخت سیستم جامعه مجازی است که تا الان حدود 60 درصدشو ساختم یه جا موندم امدم از شما دوستان کمک بگیرم اگر شما با فیسبوک کلوب یا .. اشنا باشید طرف وقتی لاگین می کنه رو صفحه اولش پستای خودشو دوستاشو می بینه من سوالم اینه اگه طرف حدود مثلا 2000 تا فرند داشته باشه هر کدوکمم جدیدا 20 تا پست ارسال کرده باشند ما باس اینجور که بگیم 10 پست اخر هرکیو نشون بده اینجوری میشه 200000 صفحه طولانیو بار سرور زیادو و... میشه ایدتون برای نمایش پستای هودش و دوستاش رو صفحه چیه و یا کسی اگه با سیستم فیسبوک یا هر جامعه مجازی اشنایی داره برام رکر کنه ممنون میشم واقعا گیرم یه ههفته دیگه باس تحویل بدم باز تشکرررر

shahriyar3
پنج شنبه 23 خرداد 1392, 22:24 عصر
حتما اینجوری که میگی ساختار تیبل هات درست نیست !
باید یک تیبل داشته باشی فقط ارسال ها داخلش باشه (نه لزوما یک تیبل میتونی متن ها و عکس ها رو تفکیک کنی ) که آخرین پست های ارسالی رو اول واکشی میکنی از تیبل ها بعد از تیبل rule پست های ارسال شده رو چک میکنی اگر اجازه نشر عمومی داشته باشه بعد relation بوزر ارسال کننده پست و با یوزری که لاگین کرده رو باید چک کنی , آخر سر اگر همه این شرط ها درست باشه اون پست و نمایش میدی.
توضیح خیلی خلاصه دادم .
تو اینجور پروژه ها اون چیزی که خیلی اهمیت داره ساختار اصولی تیبل ها و کلید ها هست تا کد نویسی

jionelmessi
جمعه 24 خرداد 1392, 04:35 صبح
[QUOTE=shahriyar3;1793236]حتما اینجوری که میگی ساختار تیبل هات درست نیست !

تیبلام اینجوریه تیبل پستم همه پستای سایتو شامل میشه و شامل دو تیبل اتچمنت و پست است کاربرامم تو حدول یوز هستن فیلد های جدولامم به این شکلن Posts: PostId pk SenderId ReciverId Post Attachment DisplayStatus SendDate Attachment: PostId pk LinkAndPicAddress users: UserId pk UserName Password sender id And ReciverId is UserId of users that send post reciver id is use when a user send a post for another user جالا با این توضیحا جدولام به نظرتو ن درسته یا نه اگه نیست بگین کجاش تفییر میخواد اگه هست چه دستوری بنویسم که فقط مثلا 5 پست اخر هر کاربریو که دوست این کاربررو بده جدول فرندم اینه UserId friendid friend date status 1 is activ 0 is inactive