PDA

View Full Version : سوال: ایجاد جدول برای نظرات و پاسخ های اخبار وب سایت



i-php-i
شنبه 13 دی 1393, 16:35 عصر
فرض کنید می خوایم یه بخش نظرات با قابلیت درج پاسخ برای هر نظر ایجاد کنیم. دقیقا مثل سایت تابناک
علاوه بر این توی پنل ادمین قابلیت صفحه بندی نظرات و سرچ در نظرات و پاسخها رو ایجاد کنیم.

سوالی که دارم اینه که یه جدول برای این کار ایجاد بشه بهتره یا دو جدول(نظرات و پاسخها در دو جدول مجزا ذخیره بشن)؟

مشکلاتی که پیش می یاد:

اگر یه جدول باشه و بخوایم نظرات رو صفحه بندی کنیم و زیر هر نظر جوابهای اون رو نمایش بدیم به مشکل می خوریم.

اگر دو جدول استفاده کنیم و با LEFT JOIN نظرات و پاسخ ها رو صفحه بندی کنیم، اگر یه نظر 10 تا پاسخ داشته باشه، اون نظر 10 بار نمایش داده می شه و صفحه بندی به هم می ریزه

اگر هم پاسخها رو توی صفحه بندی نمایش ندیم موقع سرچ ادمین نمی تونیم قابلیت سرچ توی پاسخها رو به ادمین بدیم

اگر راه حلی سراغ دارید لطفا راهنمایی کنید.

MMSHFE
یک شنبه 14 دی 1393, 09:34 صبح
دو جدول جدا بگذارین و دو کوئری جداگانه هم بزنید (برای هر نظر، یک کوئری دیگه ایجاد کنید). البته این کار وقتی جواب مناسب میده که جوابها دیگه خودشون جواب نداشته باشن (فقط 2 لول داشته باشیم).

i-php-i
یک شنبه 14 دی 1393, 14:27 عصر
دقیقا منظورتون رو متوجه نشدم ولی اگر منظورتون اینه که یه کوئری برای نظرات باشه و بعد از نمایش نظر دوباره یه کوئری دیگه بزنیم چندان حرفه ای نیست و موقع صفحه بندی نظرات اگر بخوایم چندتا از پاسخ ها رو هم نمایش بدیم کوئری ها به 15 تا می رسه. مسئله دوم اینه که وقتی مدیر یه کلمه ای رو سرچ کنه با روش بالا نمی شه سرچ رو روی پاسخ ها انجام داد.

MMSHFE
یک شنبه 14 دی 1393, 14:55 عصر
همیشه اینقدر با اطمینان درمورد حرفه ای بودن یا نبودن نمیشه صحبت کرد. مهم اینه که برای کار شما کدوم روش بهینه تر باشه نه اینکه بخوایم سلیقه ای عمل کنیم. همین vBulletin برای نمایش صفحه ای مشابه همین صفحه، نزدیک به 50 کوئری اجرا میکنه. در خیلی از مواقع کوئریهای متعدد خیلی بهتر از Join خواهد بود. ضمناً وقتی مدیر بخواد جستجو کنه میشه با یک Join عمل جستجو رو انجام داد ولی سؤال شما درمورد بحث نمایش اطلاعات بود نه بخش مدیریت.

i-php-i
یک شنبه 14 دی 1393, 15:41 عصر
اینجا گفتم که توی پنل ادمین می خوام سرچ انجام بشه و نظرات رو صفحه بندی کنم و موقع صفه بندی پاسخ هر نظر رو زیرش نمایش بدم

علاوه بر این توی پنل ادمین قابلیت صفحه بندی نظرات و سرچ در نظرات و پاسخها رو ایجاد کنیم.
توی صفحه نمایش خبر مشکلی با بخش نظرات ندارم

توی پنل ادمین که باید نظرات رو صفحه بندی کنم و توی صفحه بندی ها پاسخها رو نشون بدم و همچنین باید قابلیت سرچ بذارم براشون به مشکل می خورم


ضمناً وقتی مدیر بخواد جستجو کنه میشه با یک Join عمل جستجو رو انجام داد ولی سؤال شما درمورد بحث نمایش اطلاعات بود نه بخش مدیریت.
فرض کنید دو جدول داریم و مدیر توی پنل ادمین سرچ می کنه، در این صورت چطور باید از Join استفاده کرد؟
لطفا یه مثال هم در مورد صفحه بندی بزنید

siamak_rp
یک شنبه 14 دی 1393, 19:49 عصر
اگر یه نظر 10 تا پاسخ داشته باشه، اون نظر 10 بار نمایش داده می شه

برای این کار از distinct می تونی استفاده کنی


select distinct field from table

i-php-i
یک شنبه 14 دی 1393, 22:37 عصر
برای این کار از distinct می تونی استفاده کنی
منظورتون از distinct رو متوجه نشدم ولی اگر منظورتون همون sub select هست برای سرچ به مشکل می خوریم اما اگر منظورتون این نیست لطفا بیشتر توضیح بدید

hamedarian2009
یک شنبه 14 دی 1393, 22:50 عصر
منظورتون از distinct رو متوجه نشدم ولی اگر منظورتون همون sub select هست برای سرچ به مشکل می خوریم اما اگر منظورتون این نیست لطفا بیشتر توضیح بدید

نه distinct رکوردهای تکراری رو دیگه واکشی نمیکنه

siamak_rp
یک شنبه 14 دی 1393, 23:59 عصر
همونطور که دوستمون گفت
رکوردهای تکراری رو دیگه واکشی نمیکنه

i-php-i
دوشنبه 15 دی 1393, 01:50 صبح
آخه ما رکورد تکراری نداریم که نگران تکرار شدنش باشیم

فکر کنم خوب توضیح ندادم. سوالم رو به این شکل عوض می کنم:

اگر توی جدول نظرات یه نظر و توی جدول پاسخ ها 10 پاسخ برای این نظر داشته باشیم شما با چه روشی این دو کار رو انجام می دید:

1- سرچ روی جدول نظرات و پاسخها
2- صفحه بندی نظرات و نمایش آخرین پاسخهای هر نظر (البته درصورتیکه وجود داشته باشه)

mahsab
دوشنبه 08 تیر 1394, 19:21 عصر
نتیجه این تاپیک چی شد ؟؟؟؟ واسه ارسال پاسخ باید چی کار کرد ؟

واسه ارسال پاسخ برای پاسخ ها باید چی کارکرد ؟؟؟؟