PDA

View Full Version : php طراحی مطالب مرتبط



captain_hamid
چهارشنبه 05 شهریور 1393, 08:44 صبح
سلام
اگه سایت های خبری رفته باشین دیدن که وقتی یک خبر رو انتخاب میکنین در اون صفحه مربوط به همون خبری که باز کردین. معمولا پایین متن خبر نوشته مطالب مرتبط با این خبر.
می خواستم ببینم این مطالب مرتبط با خبر در بخش مدیریت سایت تو کجا باید گذاشته شه و تو دیتابیس چطوری باید این رو پیاده سازی کرد.
ممنون

rezaonline.net
چهارشنبه 05 شهریور 1393, 10:18 صبح
سلام
هر خبری که میرید حتما یک دسته بندی یا برچسب بندی داره ، بر اساس اون سایر مطالب مرتبط شناسایی میشه این ساده ترین روش هست .

masoud.ace
چهارشنبه 05 شهریور 1393, 12:35 عصر
به نظرم از تایتل خبر یا کلمات کلیدیش یه LIKE بگیرید.

captain_hamid
دوشنبه 10 شهریور 1393, 08:19 صبح
این جوابایی که دادین خوبه اما اگه تو سایت های خبری دیده باشین. دیدین که اینطوری نیست مثلا خبری از یه حادثه رو منتشر میکنه زیر اون خبر مطالب مرتبطش دقیقا مرتبط هست. اینجوری که شما میگین مثلا اگه این حادثه برچسب حادثه خورده باشه. تمام حوادث غیر مرتبط با اون حادثه که صرفا برچسب حادثه خورده یا به قول دوست دیگمون تو تایتل خبر باشه رو میاره و نتیجه دلخواه حاصل نمیشه.

مهرداد سیف زاده
دوشنبه 10 شهریور 1393, 08:37 صبح
اون چیزی که شما دنبالش هستید query بصورت fulltext زده میشه یعنی نوع engine دیتابیس رو باید ببرید روی MyISAM و نوع فیلدهای title,content‌که عنوان و متن یک خبر هستن رو ببری روی fulltext و بعد از کوئیری زیر برای گرفتن مطالب مشابه استفاده میکنید.
باید بگم خروجی خیلی جالبه و دقیقا مطالبی رو میاره که هم متن و هم عنوانش با این خبر یکی هست



$CurrentPostTitle = "پیروزی افتخار آمیز غزه";
$sql = "SELECT *, MATCH(title, body) AGAINST('$CurrentPostTitle') AS score
FROM articles
WHERE MATCH(title, body) AGAINST('$CurrentPostTitle')
ORDER BY time_add DESC LIMIT 5";

prans.info
دوشنبه 10 شهریور 1393, 09:09 صبح
به نظرم از تایتل خبر یا کلمات کلیدیش یه LIKE بگیرید.
این مورد اصلا از لحاظ نرمال سازی منطقی نیست .

captain_hamid
دوشنبه 10 شهریور 1393, 09:22 صبح
ممنون مهرداد 66
دقیقا به چیزی که می خواستم اشاره کردی
اما یه مشکل من فعلا واسه تست از mysql استفاده میکنم و کد query ها رو از حالت عادی دارم در میارم و با orm کار میکنم. چون می خوام فقط mysql نباشه.
به نظرت به مشکل بر میخورم؟

مهرداد سیف زاده
دوشنبه 10 شهریور 1393, 09:27 صبح
با کدوم orm کار میکنید؟ باید تست کنید. ولی تا اونجایی که دیدم ormها به نوع table چندان کاری ندارن. هر چند اگر بحث relation پیش بیاد اونوقت شاید مشکل پیش بیاد

captain_hamid
دوشنبه 10 شهریور 1393, 10:09 صبح
من redbeanphp رو انتخاب کردم و هنوز در ابتدای راهم اگه شما orm بهتری سراغ دارین که انعطاف لازم رو داره بگید.ممنون.

مهرداد سیف زاده
دوشنبه 10 شهریور 1393, 10:31 صبح
من از یکی از دوستان که خیلی در زمینه php تخصص داشت شنیدم که گفت ما ۱۷تا برنامه نویسیم توی شرکت که همه برای کار با دیتابیس از probel استفاده میکنیم
به پست زیر نگاهی بندازید
http://stackoverflow.com/questions/108699/good-php-orm-library


من redbeanphp رو انتخاب کردم و هنوز در ابتدای راهم اگه شما orm بهتری سراغ دارین که انعطاف لازم رو داره بگید.ممنون.