taymaz
taymaz
خواندن ۱ دقیقه·۴ سال پیش

ساخت pagination با php


سلام عزیزان امروز برای تان سورس php برای ساخت پگنیشن بسیار ساده آوردم.

این کد ها فقط برای آموزش این مطلب پرکاربرد است و برای استفاده در پروژه واقعی قابل قبول و بهینه نمی باشد ، صرفا جهت آموزش است.

در این آموزش از متد PDO استفاده کردیم ، و این کد ها در بستر localhost اجرا شده .



در قسمت اول به دیتا بیس متصل میشویم ، مقدار صفحه فعال در متغیر page می ریزیم و تعداد ردیفی که در هر صفحه میخواهیم نمایش داده شود را مشخص می کنیم.

$SQL = new PDO(&quotmysql:host=localhost;dbname=wordpres&quot, &quotroot&quot, &quot&quot); $page = isset($_GET['page']) ? $_GET['page'] : 1; $results_per_page = 3;


در مرحله بعدی محاسبه اولین نتیجه صفحه را انجام میدهیم و در متغیر page_frist_result میریزم سپس با کوئری زیر مقدار تعداد سطر های جدول را بدست آورده و در متغیر number_of_result میریزیم.

$page_first_result = ($page - 1) * $results_per_page; $query = $SQL->prepare(&quotSELECT COUNT(*) AS shok FROM tomy&quot); $query->execute(); $row =  $query->fetch(); $number_of_result = $row[0];


در این مرحله تعداد سطر هایی که باید بر گردند را محاسبه و کوئری را اجرا میکنیم و نتیجه را در حلقه foreach میشکنیم چون نتیجه به صورت آرایه به دست آمده از دیتابیس.

$number_of_page = ceil($number_of_result / $results_per_page); $query = $SQL->prepare(&quotSELECT * FROM tomy LIMIT $page_first_result,$number_of_page&quot); $result = $query->execute(); $rows = $query->fetchAll(); foreach ($rows as $value) { echo $value['name']; echo $value['lname']; echo '<br>'; }

و در مرحله آخر دکمه ها را می نویسیم .

$backer = $page == 1 ? 'disabled' : '' ; $Fronter = $number_of_page <= $page ? 'disabled' : '' ; ?> <a href=&quot?page=<?php echo $page-1 ?>&quot><button <?php echo $backer ?>><</button></a> <a href=&quot?page=<?php echo $page+1 ?>&quot><button <?php echo $Fronter ?>>></button></a>


و اینم عکس ساختاری که من استفاده میکردم

دیتابیس
دیتابیس



ممنون که نوشته من را مطالعه کردید ، چون این اولین نوشته من است ممکن است اشتباهاتی باشد حتما نظرات خود را بنویسید تا نوشته بعدی بدرود

phpپی اچ پیبرنامه نویسیصفحه بندی
توسعه دهنده وب
شاید از این پست‌ها خوشتان بیاید