Mình viết bài hay hy vọng giúp dc các bạn mới nhập môn PHP có thể làm dc một cái phân trang. Vì mình thấy trên google tìm thì chỉ thấy 2-3 giống nhau. Mà tất cả thì rất dài , Toàn là code ko có chú thích....
Nên giờ mình viết code này. tặng các bạn...........
giờ thì........hix. tạm biệt SVIT em nghĩ online. ở nhà học bài, sắp thi học kỳ roài
Đơn giản nhất của Phân Trang là cái này.
SELECT * FROM `your_table` LIMIT 5, 5 => Chọn bài thứ 6,7,8,9,10 từ bài thứ 5
VÌ tình linh hoạt . ( user tự chọn trang nên ta phải thay đổi, tạo tính linh hoạt cho code. )
Code thì nhiu đây thôi . Các bạn đọc có thể hiểu dc. Nếu chưa hiểu thì xem đoạn code có chú thích ở dưới nhé
Dành cho các pác đã rành PHP & MySQL
Code có chú thích, dành cho các pác mới nhập môn
Nên giờ mình viết code này. tặng các bạn...........
giờ thì........hix. tạm biệt SVIT em nghĩ online. ở nhà học bài, sắp thi học kỳ roài
Đơn giản nhất của Phân Trang là cái này.
SELECT * FROM `your_table` LIMIT 5, 5 => Chọn bài thứ 6,7,8,9,10 từ bài thứ 5
VÌ tình linh hoạt . ( user tự chọn trang nên ta phải thay đổi, tạo tính linh hoạt cho code. )
Code thì nhiu đây thôi . Các bạn đọc có thể hiểu dc. Nếu chưa hiểu thì xem đoạn code có chú thích ở dưới nhé
Dành cho các pác đã rành PHP & MySQL
PHP:
<?php
require("./config.php");
// Nếu chưa chọn trang để xem. thì ta mặc định người dùng xem đang số 0 .
if ( !$_GET['page'] )
{
$page = 0 ;
}
$sodu_lieu = mysql_num_rows(mysql_query("SELECT * FROM `data` ") ) or die(mysql_error());
*/
$sotrang = $sodu_lieu/$baitren_mottrang;
$result =mysql_query("SELECT * FROM `data` LIMIT {$page}*{$baitren_mottrang},{$baitren_mottrang} ") or die(mysql_error());
while ( $info = mysql_fetch_array($result ))
{
echo <<<EOT
$info['tenbai_viet']
<br />
$info['noidung']
EOT;
}
for ( $page = 0; $page <= $sotrang; $page ++ )
{
echo "<a href='index.php?page={$page}'>{$page}</a>";
}
PHP:
<?php
$baitren_mottrang = 10; // Tổng số tin hiện trên 1 trang
// Nếu chưa chọn trang để xem. thì ta mặc định người dùng xem đang số 0 .
if ( !$_GET['page'] )
{
$page = 0 ;
}
// Đầu tiên bạn phải lấy số dữ liệu để xem, trong data bạn có bao nhiêu bài post
$sodu_lieu = mysql_num_rows(mysql_query("SELECT * FROM `data` ") ) or die(mysql_error());
//Tính số trang. Lấy số bài viết có được, chia cho số bài viết trên 1 trang, ta được số trang
/* Ví dụ ta có
20 bài viết trong data.
mỗi trang hiển thị 10 bài
=> Chúng ta có 20/10 = 2 trang
*/
$sotrang = $sodu_lieu/$baitren_mottrang;
// Bắt đầu lấy dữ liệu
// Ta dùng hàm LIMIT x,y
// Ta muốn chọn 10 bài, từ bài 20 thì ta để LIMIT 20,10 :D
$result =mysql_query("SELECT * FROM `data`ORDER BY `id` DESC LIMIT {$page}*{$baitren_mottrang},{$baitren_mottrang} ") or die(mysql_error());
/* Bạn xem tại sao là {$page}*{$baitren_mottrang} . Lấy số id của trang hiện tại nhân với số bài viết cho
phép trên 1 trang
Ví dụ ta đang ở trang số 0. thì ta lấy từ bài thứ 0 trở đi.
ở trang số 1 thì lấy bài thứ 10 trở đi... Vì mỗi trang ta cho nó hiện chỉ 10 bài thôi :D
*/
// Xuất dữ liệu này
while ( $info = mysql_fetch_array($result ))
{
echo <<<EOT
$info['tenbai_viet']
<br />
$info['noidung']
EOT;
}
// Bây giờ tạo nút bấm để chuyển trang.
// Hồi nảy ta tính dc cái $sotrang rùi á
// Bây giờ ta dùng hàm for để tạo vòng lập. hiện từ trang số 0 đến <= $sotrang
for ( $page = 0; $page <= $sotrang; $page ++ )
{
echo "<a href='index.php?page={$page}'>{$page}</a>";
}