• Downloading from our site will require you to have a paid membership. Upgrade to a Premium Membership from 10$ a month today!

    Dont forget read our Rules! Also anyone caught Sharing this content will be banned. By using this site you are agreeing to our rules so read them. Saying I did not know is simply not an excuse! You have been warned.

Hướng dẫn phân trang bảng PHP sử dụng MySQLi

Admin

Well-Known Member
Staff member
Administrator
Chào các bạn, hôm nay mình sẽ chia sẻ cho các bạn code phân trang sử dụng PHP và MySQLi
49651013748_3358fa9a97_o.png

1. Tạo bảng
SQL:
CREATE TABLE IF NOT EXISTS `phantrang` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `ten` varchar(250) NOT NULL,
  `tuoi` int(10) NOT NULL,
  `diachi` varchar(250) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;
2. Chèn dữ liệu vào bảng
SQL:
insert  into `phantrang`(`ten`,`tuoi`,`diachi`) values
('Nguyễn Văn A','16','Hà Nội'),('Nguyễn Văn B','20','Hà Giang'),('Nguyễn Văn C','20','Thành phố Hồ Chí Minh'),('Nguyễn Văn D','20','Yên Bái'), ('Nguyễn Văn Đ','20','Nghệ An'),('Nguyễn Văn E','30','Cần Thơ'),('Nguyễn Văn F','30','Đà Nẵng'),('Nguyễn Văn G','25','Hải Phòng'),('Nguyễn Văn H','25','Bạc Liêu'),('Nguyễn Văn I','25','Sóc Trăng'),('Nguyễn Thị K','18','Cà Mau'),('Trần Thị L','17','Cà Mau')
2. Tạo file dulieu.php để kết nối tới cơ sở dữ liệu
PHP:
<?php
$con = mysqli_connect("localhost","Tên database","Mật khẩu user","User");
mysqli_set_charset($con,"utf8");
    if (mysqli_connect_errno()){
        echo "Khong the ket noi: " . mysqli_connect_error();
        die();
        }
?>
3. Code phân trang (Ở đây mình để Order By và DESC để sắp xếp dữ liệu theo id giảm dần, bạn có thể chọn ASC để sắp xếp theo thứ tự tăng dần nhé)
PHP:
<html>
<head>
<title>Phân trang chuyên nghiệp bởi tuoitreit.vn</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div style="width:1000px; margin:0 auto;">

<h3>Phân trang chuyên nghiệp bởi tuoitreit.vn</h3>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th style='width:50px;'>STT</th>
<th style='width:150px;'>Tên</th>
<th style='width:50px;'>Tuổi</th>
<th style='width:150px;'>Địa chỉ</th>
</tr>
</thead>
<tbody>
<?php
include('dulieu.php');

if (isset($_GET['trang']) && $_GET['trang']!="") {
    $trang = $_GET['trang'];
    } else {
        $trang = 1;
        }

    $total_records_per_page = 2;
    $offset = ($trang-1) * $total_records_per_page;
    $previous_page = $trang - 1;
    $next_page = $trang + 1;
    $adjacents = "2";

    $result_count = mysqli_query($con,"SELECT COUNT(*) As total_records FROM `phantrang`");
    $total_records = mysqli_fetch_array($result_count);
    $total_records = $total_records['total_records'];
    $total_no_of_pages = ceil($total_records / $total_records_per_page);
    $second_last = $total_no_of_pages - 1; // total page minus 1

    $result = mysqli_query($con,"SELECT * FROM `phantrang` order by id DESC LIMIT $offset, $total_records_per_page");
    while($row = mysqli_fetch_array($result)){
        echo "<tr>
              <td>".$row['id']."</td>
              <td>".$row['ten']."</td>
               <td style=word-break:break-all;>".$row['tuoi']."</td>
                 <td>".$row['diachi']."</td>
                 </tr>";
        }
    mysqli_close($con);
    ?>
</tbody>
</table>

<div style='padding: 10px 20px 0px; border-top: dotted 1px #CCC;'>
<strong>Trang <?php echo $trang." của ".$total_no_of_pages; ?></strong>
</div>

<ul class="pagination">
    <?php // if($trang > 1){ echo "<li><a href='?trang=1'>Trang đầu tiên</a></li>"; } ?>
 
    <li <?php if($trang <= 1){ echo "class='disabled'"; } ?>>
    <a <?php if($trang > 1){ echo "href='?trang=$previous_page'"; } ?>>Trang trước</a>
    </li>
   
    <?php
    if ($total_no_of_pages <= 10){    
        for ($counter = 1; $counter <= $total_no_of_pages; $counter++){
            if ($counter == $trang) {
           echo "<li class='active'><a>$counter</a></li>";
                }else{
           echo "<li><a href='?trang=$counter'>$counter</a></li>";
                }
        }
    }
    elseif($total_no_of_pages > 10){
     
    if($trang <= 4) {        
     for ($counter = 1; $counter < 8; $counter++){      
            if ($counter == $trang) {
           echo "<li class='active'><a>$counter</a></li>";
                }else{
           echo "<li><a href='?trang=$counter'>$counter</a></li>";
                }
        }
        echo "<li><a>...</a></li>";
        echo "<li><a href='?trang=$second_last'>$second_last</a></li>";
        echo "<li><a href='?trang=$total_no_of_pages'>$total_no_of_pages</a></li>";
        }

     elseif($trang > 4 && $trang < $total_no_of_pages - 4) {      
        echo "<li><a href='?trang=1'>1</a></li>";
        echo "<li><a href='?trang=2'>2</a></li>";
        echo "<li><a>...</a></li>";
        for ($counter = $trang - $adjacents; $counter <= $trang + $adjacents; $counter++) {        
           if ($counter == $trang) {
           echo "<li class='active'><a>$counter</a></li>";
                }else{
           echo "<li><a href='?trang=$counter'>$counter</a></li>";
                }              
       }
       echo "<li><a>...</a></li>";
       echo "<li><a href='?trang=$second_last'>$second_last</a></li>";
       echo "<li><a href='?trang=$total_no_of_pages'>$total_no_of_pages</a></li>";  
            }
     
        else {
        echo "<li><a href='?trang=1'>1</a></li>";
        echo "<li><a href='?trang=2'>2</a></li>";
        echo "<li><a>...</a></li>";

        for ($counter = $total_no_of_pages - 6; $counter <= $total_no_of_pages; $counter++) {
          if ($counter == $trang) {
           echo "<li class='active'><a>$counter</a></li>";
                }else{
           echo "<li><a href='?trang=$counter'>$counter</a></li>";
                }                
                }
            }
    }
?>
 
    <li <?php if($trang >= $total_no_of_pages){ echo "class='disabled'"; } ?>>
    <a <?php if($trang < $total_no_of_pages) { echo "href='?trang=$next_page'"; } ?>>Tiếp</a>
    </li>
    <?php if($trang < $total_no_of_pages){
        echo "<li><a href='?trang=$total_no_of_pages'>Trang sau &rsaquo;&rsaquo;</a></li>";
        } ?>
</ul>
</div>
</body>
</html>
Đây là link tải style:
Hidden content
You need to react to this post in order to see this content.
Chúc bạn thành công
 

Facebook Comments

Similar threads
Thread starter Title Forum Replies Date
Tuzoro Share Tự động phân trang bài viết WordPress khi quá dài Wordpress 0
Smobi Share Code phân trang bằng Ajax đơn giản PHP 0
Admin Hướng dẫn phân trang bài viết wordpress Wordpress 2
V Help Phân Trang Xtgem Wap builder, wapego, xtgem, wen.ru, wapka, wap4 0
Admin Share code blog xtgem mod bản mới fix lỗi phân trang Wap builder, wapego, xtgem, wen.ru, wapka, wap4 0
Admin Share code phân trang wordpress không cần plugin Wordpress 0
Admin Share phân trang mỗi topic ở trang chủ wapka Wap builder, wapego, xtgem, wen.ru, wapka, wap4 0
Admin Share xtscript phân trang không lỗi Wap builder, wapego, xtgem, wen.ru, wapka, wap4 0
Admin Share plugin tự động phân trang bài viết wordpress Wordpress 1
Admin Share code php phân trang Mã nguồn wap 8
D Share Code phân trang cho xtgem All Shared Scripts 0
Admin Hướng dẫn tự động phân trang bài viết wordpress khi quá dài Wordpress 0
T Share Phân trang jonhcms Johncms 0
H Hướng dẫn tạo code phân trang trong PHP cực đơn giản + Trả Lời Ðề Tài Kiến thức lập trình 0
Admin Hướng dẫn tạo code phân trang trong php cực đơn giản PHP 0
Admin Share filelist truyện có dấu, tự lấy mô tả, phân trang Wap builder, wapego, xtgem, wen.ru, wapka, wap4 1
L Share Filelist truyện có dấu-phân trang Xtgem Wap builder, wapego, xtgem, wen.ru, wapka, wap4 1
Admin Share code phân trang cho xtgem Wap builder, wapego, xtgem, wen.ru, wapka, wap4 0
Admin Phân tích ưu điểm và nhược điểm của sàn FIBO Group Tut, tool, mmo 0
Admin Hướng dẫn tự động phân cách phần nghìn khi nhập số C# giống tiền C# / C++ 0
T Google tạo ra công cụ để phân tích blockchain của Ethereum Tin tức CNTT 0
P Phần mềm PC AOMEI Partition Assistant Professional 6.3.0 Multilingual - Quản lý phân vùng ổ cứng Phần mềm 0
N Phân nhóm phục vụ khách hàng gọi tới Hotline 18001090 và 9090 Thông tin các mạng di động 3
B MobiFone chính thức phân phối điện thoại iPhone 7 và iPhone 7 Plus Thông tin các mạng di động 7
V mobifone phân phối bán máy iphone giá rẻ Thông tin các mạng di động 6
hunglata Hỏi help phân vùng ổ cứng Hệ điều hành 5
Admin Tổng hợp 45 đề tài quản lý phân tích thiết kế hệ thống chi tiết Sách, truyện, tài liệu 0
Admin Hướng dẫn phân biệt VPS công nghệ ảo hóa OpenVZ, KVM, XEN chi tiết VPS & Dedicated Server 2
T Phân phối Máy Mài Góc Makita 9067 180mm chính hãng ở Miền Bắc và Đắk Nông Trò chuyện linh tinh 0
C 20 cách phân biệt gái ngoan và gái hư Tin sock, độc, lạ 8
Admin Cách sử dụng và phân biệt will và going to chi tiết Sách, truyện, tài liệu 0
Admin Hướng dẫn phân vùng ổ cứng cho N9 Android, ios, java, windows phone 0
Admin Tablet màn hình 20" độ phân giải 4K có giá 6.000 USD tại Mỹ, tháng 1/2014 bán Tin tức, giới thiệu về ĐTDĐ 0
Admin Google chính thức phân phối Hangouts 2.0 cho Android, tích hợp khả năng gửi nhận SMS/MMS Tin tức CNTT 0
Admin HTC phân phối trở lại One X 16GB: giá 7,6 triệu, giao diện Sense 5 Tin tức CNTT 1
K Cách phân biệt "some time", "sometime", "sometimes" Góc thành viên học tập 0
Admin Hướng dẫn tối ưu hóa xenforo phần 2 - Phân mảnh trong MySQL và cách sửa chữa Xenforo 0
L chuyên phân phối xe đạp điện honda giá rẻ tại thanh xuân Trò chuyện linh tinh 0
T Hỏi chuyên phân phối máy kích điện giá cực rẻ giao hàng thu tiền tận nơi Mã nguồn web 0
D Hướng dẫn phân phối loa karaoke mini giá rẻ nhất mạng Máy tính 0
H phân phối linh kiện máy tính ở bình dương Truyện cười 1
H Phân phối thiết bị mạng TPLINK giá rẻ nhất thị trường,bảo hành 24 tháng Trò chuyện linh tinh 2
T S40 [Việt hóa] Tam Quốc Phân Tranh 6 Crack, hack, mod, ghép game, ứng dụng 0
L Bán buôn đồ lót xuất khẩu - Tìm nhà phân phối tỉnh Trò chuyện linh tinh 0
T Bán buôn đồ lót xuất khẩu - Tìm nhà phân phối tỉnh Trò chuyện linh tinh 0
L Share phân phối loa karaoke mini giá rẻ sốc hát tẹt ga JSP 0
V Thảo luận phân phối loa karaoke mini giá rẻ sốc hát tẹt ga Wordpress 0
L Phân phối xe đạp điện kiểu dáng đẹp giá rẻ Truyện cười 0
T Hướng dẫn Máy phân tích nước tiểu MISSION U120 giá sỉ Xenforo 0
I Windows 8.1 hỗ trợ màn hình độ phân giải cao tốt hơn Tin tức CNTT 0

Similar threads

New posts New threads New resources

Back
Top