سلام، سال نو مبارک باشه
من یک صفحه بندی در سایت ایجاد کردم و به درستی کار میکنه
ولی مشکلی که باهاش دارم این هست که اگه 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 می تونید ببنید که لایوت به چه صورت هست و کاملا کاستومایز کنید.
شاید پاسخ شما همینجا باشد
@h.seyfoori سلام دوست عزیز
از لاراول استفاده نمیکنم
توضیح ریز به ریز فرایندش مخصوصا با 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