سلام، سال نو مبارک باشه
من یک صفحه بندی در سایت ایجاد کردم و به درستی کار میکنه
ولی مشکلی که باهاش دارم این هست که اگه 100 تا صفحه هم داشته باشم؛ از 1,2,3,4,5, و .. شروع میشه تا عدد 100 همینجوری تعداد صفحات چاپ میشه
چطوری میتونم سه نقطه بزارم، مثلا به این صورت
1,2,3,4,5,6,......98,99,100
که تعداد صفحات همشون چاپ نشه؛ مثلا 5 تای اول چاپ بشه، بعد بقیش ... باشه تا صفحه ی آخر
دقیقا مثل صفحه بندی سایت راکت
کدهایی که استفاده میکنم:
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$prePage = isset($_GET['per-page']) && $_GET['per-page']<=30 ? (int)$_GET['per-page'] : 20;
$start = ($page>1) ? ($page * $prePage) - $prePage : 0;
$sql = "SELECT * FROM tbl_customer where user_id=? ORDER BY id DESC LIMIT {$start},{$prePage}";
$result = $this->doSelect($sql,[$userID]);
$total = "SELECT * FROM tbl_customer where user_id=?";
$result_total = $this->doSelect($total,[$userID]);
$count_total = count($result_total);
$number = ceil($count_total / $prePage);
با تشکر از راهنمایی شما ..
با php نمیشه همچین کاریو انجام داد فکر کنم.
بنظرم باید توی جاوا اسکریپت همچین چیزی رو پیاده سازی کنید.
دوست عزیز دستور php artisan vendor:publish رو بزنید بعد laravel-pagination را پابلیش کنید و توی view می تونید ببنید که لایوت به چه صورت هست و کاملا کاستومایز کنید.
توضیح ریز به ریز فرایندش مخصوصا با PHP خام یکم طولانی و سخته. ولی کار نشد نداره.
منطقا اگر راجع بهش فکر کنید با چند تا if میشه پیاده سازیش کرد. تعداد کل صفحات رو باید حساب کنید. ببینید اگر از یک حدی بیشتر بود، چندتا شماره قبل تر و بعدتر صفحه رو نشون میدید به اضافه مثلا صفحه اول و آخر. بینش هم به قول خودتون (...) میذارید.
آموزش های زیر رو هم یک سر بزنید:
https://code.tutsplus.com/tutorials/how-to-paginate-data-with-php--net-2928
https://phppot.com/php/how-to-add-pagination-in-php-with-mysql/
https://www.myprogrammingtutorials.com/create-pagination-with-php-and-mysql.html
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟