Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- ini_set('display_errors',1); // enable php error display for easy trouble shooting
- error_reporting(E_ALL); // set error display to all
- $username = ''; // username for the database
- $password = ''; // password for the database
- $database = ''; // name for the database
- $con = new mysqli("localhost",$username,$password,$database) or die("Error " . mysqli_error($con));
- $con->query("SET NAMES 'utf8'"); // this is for multiple languages database
- function pactive($num) {
- global $pageIndex;
- if ($_GET[$pageIndex] == $num) {
- return 'active';
- }
- }
- function path($page_num) {
- global $pageIndex;
- $query = $_GET;
- $query[$pageIndex] = $page_num;
- return $_SERVER['PHP_SELF'] . '?' . http_build_query($query);
- }
- function showPagination($total, $per_page) {
- global $pageIndex;
- $currentPage = $_GET[$pageIndex];
- $_pc = ceil($total / $per_page);
- $mid_page = ceil($_pc / 2);
- $_pnum = (ISSET($currentPage)) ? $currentPage : $mid_page;
- $_pn = '<ul class="mpagination">';
- switch(true) {
- case $_pc < 14:
- for ($i = 1; $i <= $_pc; $i++) {
- $_pn .= '<li><a href="'.path($i).'" class="'.pactive($i).'">'.$i.'</a></li>';
- }
- break;
- default:
- $_pg[0] = 1;
- $_pg[1] = 2;
- $_pg[2] = 3;
- $_pg[8] = $_pc - 2;
- $_pg[9] = $_pc - 1;
- $_pg[10] = $_pc;
- if ($_pnum <= 5) {
- $_pg[3] = 4;
- $_pg[4] = 5;
- $_pg[5] = 6;
- $_pg[6] = 7;
- $_pg[7] = 8;
- } else if ($_pnum >= $_pc - 3) {
- $_pg[3] = $_pc - 7;
- $_pg[4] = $_pc - 6;
- $_pg[5] = $_pc - 5;
- $_pg[6] = $_pc - 4;
- $_pg[7] = $_pc - 3;
- } else {
- $_pg[3] = $_pnum - 2;
- $_pg[4] = $_pnum - 1;
- $_pg[5] = $_pnum;
- $_pg[6] = $_pnum + 1;
- $_pg[7] = $_pnum + 2;
- }
- $mid_left = ceil(($_pg[3] - $_pg[2]) / 2) + $_pg[2];
- $mid_right = ceil(($_pg[8] - $_pg[7]) / 2) + $_pg[7];
- for ($i = 0; $i < 3; $i++) {
- $active = ($_pg[$i] == $_pnum) ? ' active ' : '';
- $_pn .= '<li><a href="'.path($_pg[$i]).'" class="'.pactive($_pg[$i]).'">'.$_pg[$i].'</a></li>';
- }
- if ($_pg[3] !== 4) { $_pn .= '<li><span>...</span></li>'; }
- if (!in_array($mid_left,$_pg)) {
- $_pn .= '<li><a href="'.path($mid_left).'" class="'.pactive($mid_left).'">'.$mid_left.'</a></li>';
- $_pn .= '<li><span>...</span></li>';
- }
- $_pn .= '<li><a href="'.path($_pg[3]).'" class="'.pactive($_pg[3]).'">'. $_pg[3] .'</a></li>';
- $_pn .= '<li><a href="'.path($_pg[4]).'" class="'.pactive($_pg[4]).'">'.$_pg[4].'</a></li>';
- $_pn .= '<li><a href="'.path($_pg[5]).'" class="'.pactive($_pg[5]).'">'. $_pg[5] .'</a></li>';
- $_pn .= '<li><a href="'.path($_pg[6]).'" class="'.pactive($_pg[6]).'">'.$_pg[6].'</a></li>';
- $_pn .= '<li><a href="'.path($_pg[7]).'" class="'.pactive($_pg[7]).'">'. $_pg[7] .'</a></li>';
- if (!in_array($mid_right,$_pg)) {
- $_pn .= '<li><span>...</span></li>';
- $_pn .= '<li><a href="'.path($mid_right).'" class="'.pactive($mid_right).'">'.$mid_right.'</a></li>';
- $_pn .= '<li><span>...</span></li>';
- }
- for ($i = 8; $i <= 10; $i++) {
- $active = ($_pg[$i] == $_pnum) ? ' active ' : '';
- $_pn .= '<li><a href="'.path($_pg[$i]).'" class="'.pactive($_pg[$i]).'">'.$_pg[$i].'</a></li>';
- }
- }
- $_pn .= '</ul>';
- return $_pn;
- }
- ?>
- <!DOCTYPE html>
- <html>
- <head>
- <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
- <script
- src="https://code.jquery.com/jquery-2.2.4.min.js"
- integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
- crossorigin="anonymous"></script>
- <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
- </head>
- <style>
- ul.mpagination {
- display: inline-block;
- margin: 0 auto;
- }
- ul.mpagination li {
- display: inline;
- }
- ul.mpagination li span, ul.mpagination li a {
- display: inline-block;
- width: 40px;
- height: 40px;
- line-height: 40px;
- box-sizing: border-box;
- text-align: center;
- margin-left: -1px;
- }
- ul.mpagination li a {
- border: 1px solid #d6d6d6;
- transition: 0.3s;
- }
- ul.mpagination li a.active, ul.mpagination li:hover a {
- background-color: #337ab7;
- color: #fff;
- transition: 0.3s;
- }
- ul.mpagination li:first-child a {
- border-top-left-radius: 5px;
- border-bottom-left-radius: 5px;
- }
- ul.mpagination li:last-child a {
- border-top-right-radius: 5px;
- border-bottom-right-radius: 5px;
- }
- </style>
- <body>
- <?php
- function getPageCount(){
- global $con;
- $count_page = "SELECT count(id) as count from table";
- if ($result_count = mysqli_query($con, $count_page)) {
- $row = mysqli_fetch_assoc($result_count);
- return $pageCount = $row['count']; // for pagination
- }
- }
- function getPages($per_page=100, $page_num=1) {
- global $con;
- $limit = (is_numeric($per_page) && $per_page > 0) ? ' LIMIT '. mysqli_real_escape_string($con, $per_page) : '';
- $_offset = ($page_num - 1) * $per_page;
- $offset = (is_numeric($page_num) && $page_num > 1) ? ' OFFSET ' . mysqli_real_escape_string($con, $_offset) : '';
- $query = "SELECT * from table $limit $offset";
- if ($result = mysqli_query($con, $query)) {
- if (mysqli_num_rows($result) > 0) {
- WHILE ($row = mysqli_fetch_assoc($result)) {
- $data[] = $row;
- }
- }
- return $data;
- }
- }
- $pageIndex = 'n';
- $page_num = $_GET[$pageIndex];
- // get total of record from query
- $page_count = getPageCount();
- $per_page = 10;
- echo '<ul>';
- $pages = getPages($per_page, $page_num);
- foreach ($pages as $page) {
- echo '<li>'.$page['col'].'</li>';
- }
- echo '</li>';
- echo '<div class="text-center" style="padding: 60px 0;">';
- echo showPagination($page_count,$per_page);
- echo '</div>';
- ?>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement