09/10/2018, 22:43

hỏi về paginating

trang view.php để in ra các records, điều kiện là 3 records/ trang
em tạo link prev, next để di chuyển giữa các trang, dùng biến $page để giữ giá trị của trang hiện tại

khi click vào link previous hoặc next để load lại trang view.php, (truyền giá trị $page bằng url) thì khi load lại giá tri $page vẫn là unset??
em thử cách để hidden field này nọ nhưng ko được
mọi người giúp em chỗ này với
cảm ơn mọi người nhiều lắm
lh8x viết 00:52 ngày 10/10/2018
việc ri` fải làm hidden field...
chỉ cần tính total page... current page thì $_GET từ URL
VD như thế này ( đoạn này để split records từ db thành trang ):
$page = $_REQUEST["page"]; // get page num from url hen ^^
if ($page=="") {$page="1";} // if page variable is not valid :P
$sql=mysql_query("SELECT * FROM table"); // query từ db, cái này của cậu hen
$limit = 3;
$number = mysql_num_rows($sql); // record num
$total = ceil($number/$limit);// total page num
$start = (($page*$limit)-$limit); // start page
$sql=mysql_query("SELECT * FROM table LIMIT $start,$limit"); // giới hạn bản ghi
----------------
Với next và prev button, cậu làm + cho biến current page với value =1 , prev thì ngược lại... ^^
blackmagician viết 00:44 ngày 10/10/2018
tui dùng $_REQUEST['page'] mà vẫn ko được được
mỗi lần reload vào cái view.php này thì nó lại chui tọt vào đoạn if($page == ""){$page = 1}
cái nút next thế này có phải vậy ko: echo "<a href = \"$PHP_SELF?page=$page+1\">NEXT</a>";
???

với lại tui ko dùng limit, tui ném hết cái records vào một cái array rồi cứ lấy nó ra bằng index dựa trên giá trị của $page thui. Mà cái này ko ảnh hưởng vì test giá trị $page khác nó vẫn ra đúng
NsT viết 00:45 ngày 10/10/2018
hix hix cách LH có thể chạy chính xác mà, bây giờ cách tốt nhất là bạn post cái doạn code của bạn lên, như vậy sẽ dễ hơn đó ...
lh8x viết 00:46 ngày 10/10/2018
hidden field chỉ xài khi submit 1 form... mình k hiểu cậu xài kiểu rì với hidden field nữa...
với lại tui ko dùng limit, tui ném hết cái records vào một cái array rồi cứ lấy nó ra bằng index dựa trên giá trị của $page thui. Mà cái này ko ảnh hưởng vì test giá trị $page khác nó vẫn ra đúng
Cậu k hiểu ý mình rồi.

Limit ở đây chỉ là variable... nó limited số bản ghi cuối trong câu truy vấn...
còn nếu như cậu fetch all records ~> array, vừa lâu...vừa nặng... ( thử hỏi quãng vài ngàn records thì sao )
blackmagician viết 00:49 ngày 10/10/2018
oki, let me try then
Vinhie47 viết 00:46 ngày 10/10/2018
Cái đoạn
PHP Code:
echo "<a href = \"$PHP_SELF?page=$page+1\">NEXT</a>"
hình như là sai thì phải.
Bạn thử sửa thành:
PHP Code:
echo "<a href = \"$PHP_SELF?page=".$page+1."\">NEXT</a>"
xem sao?
Vinhie47 viết 00:49 ngày 10/10/2018
Nhầm, thêm cái đóng mở ngoặc:
PHP Code:
echo "<a href = \"$PHP_SELF?page=".($page+1)."\">NEXT</a>"
Bài liên quan
0