محدود کردن رکوردهای انتخاب شده در پایگاه داده MySQL
در پایگاه داده MySQL، با استفاده از قسمت LIMIT می توانید تعداد رکوردهای برگشتی را محدود کنید.
با وجود امکان LIMIT دیگر بسادگی می توانید صفحه بندی یا pagination را روی جداول بزرگ پیاده نمایید. همان طور که می دانید در چنین جدول هایی با تعداد رکوردهای بالا، نمایش تمام رکوردها می تواند کارایی برنامه را بسیار کاهش دهد.
فرض کنید بخواهیم تمام رکوردهای 1 تا 30 از جدول "Orders" را انتخاب کنیم، بنابراین کد زیر را خواهیم داشت:
زمانی که کوئری بالا اجرا می شود، تنها 30 رکورد اول انتخاب خواهد شد.
اگر بخواهیم رکوردهای 16 تا 25 را انتخاب کنیم، چه باید کرد؟
با استفاده از دستور OFFSET در پایگاه داده MySQL می توانید مشکل بالا را حل کنید ...!
در مثال زیر، تنها 10 رکورد انتخاب می شود (LIMIT 10) اما از رکورد 16 به بعد این انتخاب صورت خواهد گرفت (OFFSET 15):
برای کوتاه تر شدن کد می توانید بصورت زیر عمل کنید:
توجه فرمایید که زمانی که از کاما (,) استفاده می کنید، گزینه های "تعداد رکوردهای برگشتی" و "نقطه شروع" برعکس خواهد شد.
برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHP کلیک کنید.
$sql = "SELECT * FROM Orders LIMIT 15
آیا از رکورد 16 تا آخر را برای ما برمیگرداند ؟!
مشکل می اینجاست نمیدونم که چطور در php میشه گفت وقتی که روی این دکمه کلیک شد این اتفاق بی افتید
همانطور که میدانید در php و زبان های سمت سرور خبری از رویدادها نیست و رویداد ها فقط در سمت کلاینت رخ میدهند.
سوال اصلی من این است که چطور میشود کاردکمه های قبلی و بعدی را شبیه سازی کرد
با تشکر
این درخواست شما هست که در واقع در PHP پردازش میشه و نتیجه به شما برگشت داده میشه.
با کلیک روی یک صفحه شمارهی اون صفحه برای سرور ارسال میشه و توسط کدنویسی تشخیص داده میشه که چه رکوردی تا چه شمارهای برگشت داده بشه.