صفحه بندی AJAX توسط PHP

  • آپدیت شده در تاریخ

صفحه بندی AJAX توسط PHP

در این آموزش ، قصد داریم که یک مثال کد ساده برای افزودن صفحه بندی (Pagination) به لیستی از اطلاعات دریافت شده از دیتابیس نشان بدیم. من از AJAX برای دریافت اطلاعات برای هر صفحه از دیتابیس توسط jQuery استفاده میکنم.

در این مثال ، ما دو گزینه برای بعدی (Next) و قبلی (Prev) داریم که کار جابجایی تکی بین صفحات را انجام می دهد. و گزینه های دوتایی نیز چهارتا چهارتا جابجایی را انجام می دهند.

صفحه بندی AJAX توسط PHP

کد HTML برای انتخاب فرمت صفحه بندی

کد زیر یک منوی کشویی (dropdown) با دو فرمت مختلف صفحه بندی برا نشان میدهد. فرمت پیش فرض همه لینک های صفحات را نشان می دهد. با تغییر گزینه منوی کشویی ، یک تابع جی کوئری را بر روی منوی کشویی فراخوانی میکنیم.

صفحه بندی AJAX توسط PHP

نمایش نتایج صفحه بندی توسط AJAX

یک تایع jQuery به اسم getresult برای ارسال یک درخواست AJAX به PHP برای دریافت نتیجه صفحه بندی داریم . این تابع را در دو جا صدا می زنیم . یک زمانی که فرمت صفحه بندی از طریق منوی کشویی تغییر کرد ، و دیگری زمانی که بر روی لینک صفحه بندی برای نمایش نتایج صفحه جاری کلیک شد.

فرایند درخواست صفحه بندی AJAX توسط PHP

کد زیر تمامی پارامترها مثل صفحه جاری (current page) ، تنظیمات صفحه بندی (pagination setting) که توسط AJAX ارسال شده است را می خواند ، بر اساس این پارامتر ها ، php تابع pagination را برای ارسال پاسخ فراخوانی می کند.

صفحه بندی AJAX توسط PHP یک از موارد مهم ، کاربر پسندانه و مدرن در دنیای وب است که حتما سعی کنید در پروژه هایی که می نویسید برای راحتی کاربران ، جذاب بودن صفحه ، و یا هر جایی که بنا به طولانی بودن لیست انها از صفحه بندی استفاده کنید . موفق باشید

برای دانلود کامل پروژه صفحه بندی AJAX توسط PHP از قسمت زیر اقدام کنید

حسن شفیعی توسعه دهنده وب و موبایل مدیر سایت علاقه خاصی به برنامه نویسی وب و موبایل دارم و هر روز تلاش می کنم به این حوزه مسلط تر شوم و اطلاعاتم را به شکل کاربردی برای علاقه مندان در وب به اشتراک بگذارم. اگر نیاز به برنامه نویس برای انجام پروژه و نوشتن اسکریپت های سمت وب, اپلیکیشن های اندروید و ios, پیدا کردن راه حل توسعه و غیره داشتید حتما از طریق تماس با ما/ واتساپ/ تلگرام بهم پیام بدید. برایتهیه هاست مطمین و پرسرعت کلیک کنید
مطالب زیر را حتما بخوانید
دیدگاه کاربران (۱۰)

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

  1. حسین ۱۵ آبان ۱۳۹۸

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

    پاسخ
    1. حسن شفیعی ۱۵ آبان ۱۳۹۸

      سلام. وقت بخیر ممنون
      میتونید از این لینک استفاده کنید واقعا ساده است ترکیبی از خواندن داده ها از دیتابیس mysql و حلقه و دریافت شماره صفحه از طریق url و قرار دادن آن در کویری sql است که باید کمی دقت و خودتون روی مثالی که دارید پیاده کنید تا کامل یاد بگیرید
      https://codeshack.io/how-to-create-pagination-php-mysql
      https://www.myprogrammingtutorials.com/create-pagination-with-php-and-mysql.html
      موفق باشید.

      پاسخ
  2. امیر ۱۸ شهریور ۱۳۹۸

    سلام
    چه طور میتونم از این کد به صورت عادی استفاده کنم و ajax نباشه؟

    پاسخ
    1. حسن شفیعی ۱۸ شهریور ۱۳۹۸

      سلام. بخش javascript که تابع هست رو حذف کنید و مستقیما داخل صفحه مطالب که شماره های صفحات رو میسازید به آنها به اینصورت لینک بدید :
      articles.php؟?page= که شماره صفحات باید جلوی = قرار بگیرند.
      در نهایت در کدهای هر دو فایل رو باید ادغام کنید به اینصورت که کدهای getresult.php رو به بالا سر فایلی که مطالب نمایش داده می شوند و اینجا مثلا اسمش روarticles.php درنظر گرفتیم انتقال بدید.

      موفق باشید.

      پاسخ
  3. امیر حسین رضایی ۱۳ شهریور ۱۳۹۸

    سلام
    ممنونن بابت اموزش عالیتون فقط یک مشکل دارم اونم اینکه چه جوری مطالب نمایش بدم؟الان شماره صفحه ایجاد شده ولی قسمتی برای فراخوانی اطلاعات از دیتابیس نیست؟

    پاسخ
    1. حسن شفیعی ۱۳ شهریور ۱۳۹۸

      سلام. خوشحالیم که مفید واقع شده.
      بخش دیتابیس که مطالب را از دیتابیس فراخوانی می کند در فایل getresult.php است که اینجا باید تغییر کویری sql خود رو برای خواندن مطالب از جدول موردنظر رو لحاظ کنید
      موفق باشید.

      پاسخ
  4. حسین صالحی ۱۴ مرداد ۱۳۹۸

    سلام خسته نباشید ببخشید یه سوال داشتم . برای ایجاد صفحه بندی فقط مثل روش بالا میشه ایجادکرد. یا یک روش دومی وجود نداره که بدون اتصال به دیتابیس و جدول پست ها انجامش داد. منظورم(مثلا من میخوام در سایتم پست جدیدی رو اضافه کنم که هیچ گونه اتصالی با دیتابیس نداره. وپستم رو از دیتابیس نمیخونه تا در صفحه نشون بده وبه صورت استاتیکه و مجزاست) برای اضافه کردن صفحات سایت که تعداد صفحاتش بیش از ۱۰۰ تاست چه باید بکنم روشی سراغ دارین؟

    پاسخ
    1. حسن شفیعی ۱۴ مرداد ۱۳۹۸

      سلام. ممنون.
      از آموزش لینک قبلی که داده شد استفاده کنید و دستی ۱۰۰تا دکمه ایجاد کنید و آنها را لینک دهی کنید به فایل مورد نظر.
      موفق باشید.

      پاسخ
  5. پریسا ۲۵ دی ۱۳۹۶

    سلام خدمت شم آقای حسن شفیعی عزیز من این فایلو دانلود کردم ولی شما سورس دیتابیس رو ندادید م دیتابیس روهم ساختم ولی بازم این۴تا ارور باقی میمونه
    Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in D:\Xampp\htdocs\ajax-pagination-with-php\dbcontroller.php on line 19

    Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in D:\Xampp\htdocs\ajax-pagination-with-php\dbcontroller.php on line 20

    Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in D:\Xampp\htdocs\ajax-pagination-with-php\dbcontroller.php on line 28

    Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in D:\Xampp\htdocs\ajax-pagination-with-php\dbcontroller.php on line 29

    Warning: Invalid argument supplied for foreach() in D:\Xampp\htdocs\ajax-pagination-with-php\getresult.php on line 34
    اینارو چجوری حل کنم؟؟؟؟؟؟؟
    شما باید سورس دیتابیس رو هم میزاشتین.

    پاسخ
    1. حسن شفیعی ۲۵ دی ۱۳۹۶

      سلام . قرار نبود دیتابیسی وجود داشته باشه . شما باید این سورس رو مطابق با چیزی که از جدول مورد نظر خود می خوانید ویرایش و داده ها را در قالب صفحه بندی نمایش بدید . کار سختی هم نیست کافیه اطلاعات دیتابیس را در dbcontroller.php تغییر بدید و در قسمت نمایش result نام ستون ها را تغییر بدید همین .

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

      پاسخ
دوره های آموزشی