صفحه بندی داده ها در mysql

چاپ

محدود کردن رکوردهای انتخاب شده در پایگاه داده MySQL

Wiki

در پایگاه داده MySQL، با استفاده از قسمت LIMIT می توانید تعداد رکوردهای برگشتی را محدود کنید.

با وجود امکان LIMIT دیگر بسادگی می توانید صفحه بندی یا pagination را روی جداول بزرگ پیاده نمایید. همان طور که می دانید در چنین جدول هایی با تعداد رکوردهای بالا، نمایش تمام رکوردها می تواند کارایی برنامه را بسیار کاهش دهد.

فرض کنید بخواهیم تمام رکوردهای 1 تا 30 از جدول "Orders" را انتخاب کنیم، بنابراین کد زیر را خواهیم داشت:

$sql = "SELECT * FROM Orders LIMIT 30";

زمانی که کوئری بالا اجرا می شود، تنها 30 رکورد اول انتخاب خواهد شد.

اگر بخواهیم رکوردهای 16 تا 25 را انتخاب کنیم، چه باید کرد؟

با استفاده از دستور OFFSET در پایگاه داده MySQL می توانید مشکل بالا را حل کنید ...!

در مثال زیر، تنها 10 رکورد انتخاب می شود (LIMIT 10) اما از رکورد 16 به بعد این انتخاب صورت خواهد گرفت (OFFSET 15):

$sql = "SELECT * FROM Orders LIMIT 10 OFFSET 15";

برای کوتاه تر شدن کد می توانید بصورت زیر عمل کنید:

$sql = "SELECT * FROM Orders LIMIT 15, 10";

توجه فرمایید که زمانی که از کاما (,) استفاده می کنید، گزینه های "تعداد رکوردهای برگشتی" و "نقطه شروع" برعکس خواهد شد.


برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHP کلیک کنید.