آموزش ساخت خوراک مطالب سایت (RSS) با PHP و MYSQL



visibility  
mode_comment   ۲۷

دوستان سلام،توی این مطلب قصد داریم یکی قسمت های مهم وب سایت های امروزی یعنی RSS رو با PHP و MYSQL آموزش بدیم،این آموزش خیلی ساده است و ما فقط قصد داریم یه ایده برای کد نویسی این قسمت از ساییتون بهتون بدیم.

خوب اول از همه جدول اخبار یا مطالب سایت مون رو ایجاد میکنیم(فرض ما اینه که شما این جدول رو ندارید و گرنه باید از همون جدول اصلی مطالب یا اخبار خودتون استفاده کنید).

کد SQL

خوب جدول که توضیح خاصی نداره،ستون عنوان،خلاصه،متن،نویسنده و تاریخ خبر رو توش درج میکنیم(البته فرض ما اینجا اینه که این جدول شما مطلب داره و ما قرار نیست اینجا توش مطلبی ثبت کنیم).

ایجاد صفحه RSS

خوب کد های لازم برای ایجاد صفحه خوراک مطالب یا همون RSS رو به این صورت می نویسیم.

خوب ما مثل همیشه از یه کلاس که خودمون نوشتیم و تو اسکریپت های قبلی هم ازش استفاده کردیم،اینجا هم برای پردازش های بانک اطلاعات استفاده میکنیم(فایلش توی فایل های پروژه موجوده)،اول از همه اون کلاس رو به صفحه اضافه کردیم،یه هدر قرار دادیم تا نوع محتوا رو XML مشخص کنیم (RSS بر پایه XML کار میکنه)،بعدشم یه کوئری نوشتیم که اطلاعات لازم رو واکشی کنیم،بعدشم اتصال به دیتابیس و ذخیره اطلاعات دریافتی در یک متغییر،ما بعد از این یه تابع تعریف کردیم که کار این تابع اینه که کاراکتر های غیر مجاز توی سند XML رو به کاراکتر های مجاز اون تبدیل میکنه،حالا خودتون نحوه استفاده شو می بینید.

خوب اینم از کد های اصلی تولید محتوای خوراک،اولش که سند XML و RSS  رو تعریف کردیم،توی XML هم شبیه HTML هر گره باید آغاز و پایانش مشخص باشه،با گره channel ما بدنه اصلی رو تعریف کردیم برای قست های عنوان و توضیحات از عنصر های title,link,description استفاده کردیم که توضیحات آدرس و عنوان وب سایت خودتون رو باید داخلش قرار بدید،خوب حالا نوبت به قسمت مطالب میرسه،اینجا باید از عنصر item استفاده کنیم و داخل خود عنصر item هم سه عنصر عنوان،لینک و خلاصه مطلب قرار میگیره،ما از یه حلقه استفاده کردیم و مطالبی که تو قسمت قبلی واکشی کردیم رو این جا به نمایش در میاریم.توی قسمت title عنوان مطلب، توی قسمت link هم لینک مطلب رو قرار دادیم (شما باید آدرس صفحه نمایش مطلب خودتون رو به همراه اطلاعات لازم بنویسید) و توی قسمت description هم خلاصه مطلب رو می نویسیم،می بینید که از اون تابع که کاراکتر های غیر مجاز رو حذف میکرد اینجا استفاده کردیم،خوب آخر کار هم ما اتصال به دیتابیس رو قطع کردیم.

کد های کامل برای صفحه RSS

خروجی کار شما توی FF تقریبا باید چیزی شبیه به این باشه.

خروجی خوراک مطالب در فایر فاکس

امیدوارم مفید بوده باشه.

موفق و پیروز باشید.

دانلود فایل های PHP

متخصص فرانت اِند
طراحی وب را اصولی فرا بگیرید اگر تصمیمتو گرفتی که به صورت حرفه ای به طراحی UI مشغول بشی و کسب درآمد کنی دوره فرانت اند رو از دست نده، چون توی این دوره هر چیزی که برای رسیدن به هدفت نیاز داری رو در اختیارت قرار می دیم. متخصص فرانت اِند arrow_back
comment دیدگاه کاربران
رضا ساطع بیدگلی

سلام آقا کیوان
خوشحال شدم مطلب جدیدتو دیدم امیدوارم که موفق باشی حتما در آینده کار میکنم 😉

کیوان علی محمدی

ممنون رضا جان،انشاالله…

missprogrammer

خیلی خوب بود تشکر

davood1995

:cry برا من نشون نمیده
وقتی آدرس rss.php رو تو نوار ابذار تایپ میکنم میزنه localhost/wordpress/rss.php not found
خب باید چکار کنم؟
حتما باید تو ای پوشه باشه؟

کیوان علی محمدی

شما طبق آموزش عمل کنید،جدول رو بسازید،بعدشم تنظیمات دیتابیس رو توی فایل config ست کنید.

علی

لطفا ازتون خواهش می کنم این آموزش ها رو ویدئو ای کنید بسیار بهتره،هم فهمش و هم درکش تازه طرفدارهاش هم بیشتره دیگه کسی حوصله نمی کنه توی این حجم پر از کد ها خودشو گیج کنه!!!

کیوان علی محمدی

سلام فعلا به خاطر اینترنت و پهنای باندی که دارم از ارائه آموزش ویدیویی معذورم،ولی در آینده سعی خودمو میکنم حتما اموزش ها ویدیویی بشه.

محمد امین واحدی نیا

میشه آموزش وردپرسیشو بزارین من فقط توابع وردپرس مثل دریافت مطلب از دیتابیسو نمی دونم

کیوان علی محمدی

سلام برای وردپرس فکر کنم پلاگین های زیادی وجود داشته باشه،اما اگه خودتون می خواید بنویسید برای دریافت مطالب می تونید از حلقه وردپرس استفاده کنید

محمد امین واحدی نیا

میشه بیشتر توضیح بدین. من در واقع می خوام پلاگین بنویسم اگه بشه و گرنه خود وردپرسو دستکاری می کنم

کیوان علی محمدی

می تونید مثلا یه صفحه مجزا ایجاد کنید (دقیقا مثل آموزش صفحه انتقال دهنده لینک های سایت) و حلقه وردپرس رو براش بنویسید (البته با توجه همین اموزش)

رضا ساطع بیدگلی

سلام آقا کیوان
ببخشید بی زحمت میشه بگی اصلا این RSS چی هست ؟ به چه درد میخوره ؟ و حتما باید تو سایتی وجود داشته باشه ؟

کیوان علی محمدی

سلام آقا رضا،داداش این RSS کمک میکنه تا اطلاعات و مطالب جدید سایت های که مثلا هر روز سر میزنی رو یکجا داشته باشی و زیادخودتو درگیر رفتن وسر زدن با سایت ها نکنی،با برزو شدن سایت مطالب جدید سریع توی این RSS قرارمیگیره و شما به کمک یه خوراک خوان مثل Google Reader میتونی این آپدیت ها رو ازشون مطلع بشی به راحتی دریافت کنی،تقریبا جزء استاندارد های طراحی سایت به شمار میره.

Reyhaneh_B

سلام
خیلی عالی بود
بازم منتظر بهترین ترفندها هستیم
موفق باشین.

کالباس بر

ترفندهای خوبی بود
مرسی از مطالب خوبتون

حسین

با سلام و تشکر
یه مشکلی داشتم ممنون میشم راهنمایی کنید
این آدرس feed منه
cgalma.ir/feed
فکنم مشکل داره ممنون میشم برای حل مشکل راحنماییم کنید

کیوان علی محمدی

سلام چه مشکلی دارید؟من فید شما رو نگاه کردم مشکلی ندیدم.

حسین

خیلی از مطالب را در feed نیمده و وقتی میخوام از سرویس http://feedburner.google.com استفاده کنم این خطارو میده
The URL does not appear to reference a valid XML file. We encountered the following problem: Your feed has an invalid character(s) in it. This may be caused by editing your posts with a wordprocessing program. Try copying your posts into a plain text editor (like Notepad or TextEdit) before pasting them in your blogging tool.

کیوان علی محمدی

شما از همین کدی که ما قرار دادیم استفاده کردید؟ این کد فقط 10 مطلب آخر رو دریافت میکنه.

artaj

ســلام و درود خدمت کیوان عزیز
کیوان جان آموزشتون خیلی خیلی جالب بود…
منم در مورده کد نویسی یک سوالی داشتم ازتون
اگه مایل بودید این ایمیل منو اد کن
alonetaha69@yahoo.com
منتظرم

کیوان علی محمدی

سلام لطف دارید،اگه سواب داشتید به ایمیلم که درپایین آموزش ها قرار داره بفرسیتد.

دانیال

ببخشید من توی گوگل کروم امتحان کردم به یک شکل دیگری بود شما بهش استایل دادید؟

کیوان علی محمدی

سلام نه اصلا اتایل نداره،آره فرق داره کروم همون طوری نشون میده.

zanyar

با سلام اقا کیوان من این ار اس اس رو درست کردم همه چیش درسته بجز اینکه فارسی رو پشتیبانی نکرده و همه پست ها رو به صورت علامت سوال میزاره لطفا کمک کنید خیلی ممنونم
راستی همه کاراکترها رو هم روی utf-8 گذاشتم اما بازم فرقی نکرد

کیوان علی محمدی

سلام اگه نگاه کنی تو قسمت کد ها ما charset رو روی UTF-8 تنظیم کردیم و برای خودمون جواب داده،احتمال زیاد مشکل از یه جای دیگه باشه مثلا مرورگرت.

lili

تشکر

رضا

خیلی ممنون

ارسال نظرات

کاربر گرامی، امکان ارسال نظر و پشتیبانی برای دوره های مجازی فقط برای دانشجویان این دوره امکان پذیر می باشد.