Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php include "config.php"; ?>
- <div>
- <table>
- <thead>
- <tr>
- <th>Number</th>
- <th>name</th>
- <th>address</th>
- </tr>
- </thead>
- <tbody>
- <?php for( $i = 0; $i < count( $results->data ); $i++ ) : ?>
- <tr>
- <td><?php echo $page++; ?></td>
- <td><?php echo $results->data[$i]['name']; ?></td>
- <td><?php echo $results->data[$i]['address']; ?></td>
- </tr>
- <?php endfor; ?>
- </tbody>
- </table>
- </div>
- <?php echo $Paginator->createLinks($links); ?>
- <?php
- $user = "root";
- $pass = "";
- try {
- $connect = new PDO('mysql:host=localhost;dbname=database', $user, $pass);
- } catch (PDOException $e) {
- print "Error!: " . $e->getMessage() . "<br/>";
- die();
- }
- $limit = ( isset( $_GET['limit'] ) ) ? $_GET['limit'] : 5;
- $page = ( isset( $_GET['page'] ) ) ? $_GET['page'] : 1;
- $links = ( isset( $_GET['links'] ) ) ? $_GET['links'] : 7;
- $query = "SELECT * FROM table ORDER BY id DESC";
- require_once 'Paginator.php';
- $Paginator = new Paginator($connect, $query);
- $results = $Paginator->getData($limit, $page);
- ?>
- <?php
- class Paginator {
- private $konek;
- private $batas;
- private $halaman;
- private $habeit;
- private $semua;
- public function __construct($conn, $query) {
- $this->konek = $conn;
- $this->habeit = $query;
- $rs= $this->konek->prepare( $this->habeit );
- $rs->execute();
- $this->semua = $rs->rowCount();
- }
- public function getData( $limit = 10, $page = 1 ) {
- $this->batas = $limit;
- $this->halaman = $page;
- if ( $this->batas == 'all' ) {
- $query = $this->habeit;
- } else {
- $query = $this->habeit . " LIMIT " . ( ( $this->halaman - 1 ) * $this->batas ) . ", $this->batas";
- }
- $rs = $this->konek->prepare( $query );
- $rs->execute();
- while ( $row = $rs->fetch(PDO::FETCH_ASSOC) ) {
- $results[] = $row;
- }
- $result = new stdClass();
- $result->page = $this->halaman;
- $result->limit = $this->batas;
- $result->total = $this->semua;
- $result->data = $results;
- return $result;
- }
- public function createLinks( $links ) {
- if ( $this->batas == 'all' ) {
- return '';
- }
- $last = ceil( $this->semua / $this->batas );
- $start = ( ( $this->halaman - $links ) > 0 ) ? $this->halaman - $links : 1;
- $end = ( ( $this->halaman + $links ) < $last ) ? $this->halaman + $links : $last;
- $html = '<ul class="pagination">';
- $class = ( $this->halaman == 1 ) ? "disabled" : "";
- $html .= '<li class="' . $class . ' symbol"><a href="?limit=' . $this->batas . '&page=1">«</a></li>';
- $html .= '<li class="' . $class . ' symbol"><a href="?limit=' . $this->batas . '&page=' . ( $this->halaman - 1 ) . '">‹</a></li>';
- if ( $start > 1 ) {
- $html .= '<li><a href="?limit=' . $this->batas . '&page=1">1</a></li>';
- $html .= '<li><span class="titik">...</span></li>';
- }
- for ( $i = $start ; $i <= $end; $i++ ) {
- $class = ( $this->halaman == $i ) ? "active" : "";
- $html .= '<li class="' . $class . '"><a href="?limit=' . $this->batas . '&page=' . $i . '">' . $i . '</a></li>';
- }
- if ( $end < $last ) {
- $html .= '<li class="disabled"><span>...</span></li>';
- $html .= '<li><a href="?limit=' . $this->batas . '&page=' . $last . '">' . $last . '</a></li>';
- }
- $class = ( $this->halaman == $last ) ? "disabled" : "";
- $html .= '<li class="' . $class . ' symbol"><a href="?limit=' . $this->batas . '&page=' . ( $this->halaman + 1 ) . '">›</a></li>';
- $html .= '<li class="' . $class . ' symbol"><a href="?limit=' . $this->batas . '&page=' . ( $last ) . '">»</a></li>';
- $html .= '</ul>';
- return $html;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement