تالار گفتمان nCIS.ir

نسخه‌ی کامل: نحوه صفحه بندی وقتی خروجی پست ها با کلاس و تابع است
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام
ببخشید اگه عنوان تاپیک رو خوب ننوشتم
ببنید من یک کلاس دارم به نام template و  در اون 2تا تابع
یکی چک میکنه پستی برای نمایش هست یا نه (یک متغییر دارم و هر بار یکی بهش اضافه میکنم تا وقتی که کمتر از تعداد سطر های خبر باشه)
یکی دیگه میاد در هر مرحله اون خبر رو توی آرایه میریزه

و چندتابع دارم در صفحه که میاد هرکدوم از این فیلد ها رو میریزه توی متغییر
یعنی مثلا یک تابع نمایش عنوان دارم میاد خونه 1 آرایه که عنوانه رو مریزه توی خودش


و در نهایت در قالب سایت میام یه while میزنم و شرط رو میذارم با همون تابع چک کردن پست موجود در کلاس
و در حل مرحله با یک استایلی متن رو نمایش میدم

حالا سوالم اینجاست


اگه بخام صفحه بندی کنم با کمترین تغغیر کدوم را بهتره

میخام با آدرس url.com/posts/5
صفحه 5 رو بیاره که مثلا اگر در هر صفحه 3 تا پست باشه باید پست 13 و14و15 رو نمایش بده


اینکه آدرس رو تجزیه کنم بلدم و کد htaccess  دارم
فقط میخام وقتی این url بود من یک تابع رو فراخوانی کنم که اون بیاد بگه باید پست های همون صفحه رو نمایش بده فقط
چیکار کنم ؟
سلام.
نمیدونم درست متوجه شدم منظورتون رو یا نه. اما چیزی که من فهمیدم اینجوری میشه:

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

به عنوان مثال کوئریش اینجوری میشه:
$query = "SELECT * FROM `khabar` LIMIT {$perPage} OFFSET {$offset}";

متغیر های perPage و offset رو باید از متد های کلاستون بگیرید

حالا کاری که توی قالب باید انجام بدید:


تصور میکنیم شماره صفحه رو تجزیه کردید و ریختید توی متغیری به اسم :

$page


قبل از فراخوانی متد های کلاس :

$page = $page && !empty($page) ? intval($page) - 1 : 0;
// تعداد پست هر صفحه
$perPage = 3;
$offset = $page * $perPage;


موقع فراخوانی متد های کلاس:
اضافه کردن دو متغیر

$offset و $perPage

به پارامتر های هر کدوم از متد های کلاستون که قراره خبر های رو از دیتابیس بکشن بیرون و فراخوانیشون

امیدوارم هم منظور شما درست فهمیده باشم و هم منظورم رو درست رسونده باشم