ساخت صفحه بندی با PHP و Mysql همانند گوگل

  • منتشر شده در تاریخ

ساخت صفحه بندی با PHP و Mysql همانند گوگل

در این آموزش PHP قصد داریم به شما نحوه ساخت صفحه بندی با PHP و Mysql همانند گوگل را نشان بدیم.

در آموزش های قبلی ارایه شده توسط نت پارادیس نحوه ساخت انواع صفحه بندی (pagination) را نشان دادیم :

ولی در این آموزش نحوه ساخت صفحه بندی با PHP بصورت ساده و بدون استفاده از Ajax را یاد بدیم.

در این آموزش٬ دو نوع کنترل برای پیمایش نتایج صفحه بنده شده داریم.

اولی٬ لینک های صفحه بندی برای هدایت ما به صفحه مدنظر و بعدی هم یک ورودی متن (input)  برای وارد کردن شماره صفحه است. با سابمیت کردن این شماره صفحه٬ می توانیم به صفحه مورد نظر بریم.

من مثال آموزش ساخت صفحه بندی با PHP و Mysql همانند گوگل را با یک مثال ساده پیاده سازی کردم. که البته همین مثال را بصورت ajax در مقالات قبلی دیدیم.

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

تعداد نمایش نتایج در هر صفحه نیز از طریق یک ثابت در کلاس Config قابل تنظیم است.

 

پلاگین ها برای فعال کردن قابلیت صفحه بندی (pagination)

پلاگین های زیادی برای ساخت سریع صفحه بندی وجود دارند که از  بین آنها Pagination.js و jqPaginator بسیار کاربردی و در عین حال سبک هستند.

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

در یک مقاله قبلی نحوه پیاده کردن Datatables برای لیست کردن رکوردها با صفحه بندی را دیدیم.

با گفتن همه این ها٬ بهتر است کد سفارشی خودمان را بنویسیم. چراکه پلاگین  و کتابخانه های خارجی فقط اپلیکیشن ما را کند می کنند.

 

ساختار فایل ها

مثال ما شامل فایل ها زیر است :

ساخت صفحه بندی با PHP و Mysql همانند گوگل

فایل index.php همان صفحه اصلی HTML ما است که برای نمایش لینک های صفحه بندی و نتایج صفحه فعلی استفاده می شود.

دو فایل CSS نیز برای استایل دهی چیدمان صفحه ما در این مثال استفاده شده اند.

فایل Model/Pagination.php نیز شامل توابعی برای واکشی داده های Mysql است که پارامترهایی برای ست کردن limit در کوئری SELECT دریافت می کند.

ساختار فایل ما شامل یک اسکریپت SQL هم است که برای ساخت دیتابیس مثال  ساخت صفحه بندی با PHP و Mysql استفاده می شود.

 

اسکریپت دیتابیس

 

ساخت صفحه اصلی با دکمه های صفحه بندی

این لندینگ پیچ نتایج دیتابیس را با آپشن صفحه بندی را نمایش می دهد. کد HTML زیر شامل کدهای PHP برای نمایش نتایج صفحه بندی شد است.

این مثال علاوه بر لینک های ناوبری عقب و جلو صفحه بندی, شامل یک فرم  برای وارد کردن شماره صفحه مدنظر نیز است.

تابع pageValidation() یک متد جاواسکریپت برای تایید شماره صفحه وارد شده است.

اگر باکس ورودی شامل داده غیرمعتبر بود٬  مقدار false برگشت داده می شود. پس از سابمیت شدن و رفتن به صفحه بعدی جلوگیری می کند.

استایل های زیر مربوط به فایل pagination.css هستند که CSS های جدول و المان های صفحه بندی را شامل می شود.

 

کد Php دریافت نتایج صفحه بندی شده

این اسکریپت php برای خواندن نتایج دیتابیس و دریافت شماره رکورد٬ شماره صفحات استفاده شده است.

شماره صفحات بر اساس تعداد نتایج و مقدار LIMIT_PER_PAGE تغییر می کند.

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

در پیمایش پی در پی صفحه٬ لینک های صفحه بندی بیشتری نمایان می شود.

 

کلاس ها٬ کتابخانه ها و کانفیگ های استفاده شده

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

برای دریافت کد کامل می توانید از باکس دانلود٬ سورس اضافه شده به آموزش ساخت صفحه بندی با PHP و Mysql همانند گوگل را دریافت کنید.

 

فایل Config.php

ما محدودیت نمایش رکورد ها در هر صفحه را بصورت یک ثابت (constant) ذخیره کردیم که برای ست کردن limit در کوئری SELECT از آن استفاده می کنیم.

شما می توانید ثابت های بیشتری برای کار با اسکریپت صفحه بندی با PHP را اینجا اضافه کنید.

برای مثال٬  می توانید یک ثابت SHOW_ALL_LINKS برای فعال/غیرفعال کردن محدودیت نمایش لینک ها اضافه کنید یا اینکه اطلاعات دیتابیس را اینجا تعریف و در کلاس بالا استفاده کنید.

 

خروجی آموزش ساخت صفحه بندی با PHP و Mysql همانند گوگل

اسکرین شات زیر خروجی مثال ساخت صفحه بندی با PHP و Mysql را نشان می دهد.که همانطور که می بینید در هر صفحه ۵ رکورد را چاپ می کنیم.

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

ساخت صفحه بندی با PHP و Mysql همانند گوگل

امیدوارم از آموزش ساخت صفحه بندی با PHP و Mysql همانند گوگل نهایت استفاده را برده باشید.

برای دانلود سورس کد و دیتابیس از باکس دانلود استفاده کنید.

هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .

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

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

آموزش های رایگان بیشتر در اینستاگرام ما ...

NETPARADIS /
مطالب زیر را حتما بخوانید
دیدگاه کاربران (۳)

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

  1. پوریا ۱۲ شهریور ۱۳۹۹

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

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

        سلام
        سپاسگزارم

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

دانلود رایگان کتاب آموزش PHP

صفر تا صد PHP و MySQL را یکجا یاد بگیرید
همین الان دانلود کن
نگران نباشید. ایمیل‌های مزاحم نمی‌فرستیم
close-link