10/10/2018, 10:56

Cần giúp code phân trang trong PHP

Tìm mờ cả mắt mà chẳng thấy đâu, có bác nào thấy cái code này ở đâu, cho em xin với. cảm ơn nhiều nhiều nhé.
Waiting for you.
ddtncom viết 12:57 ngày 10/10/2018
Sao mọi người khong trả lời giúp tôi với sao?
nlbien viết 13:04 ngày 10/10/2018
Được gửi bởi ddtncom
Tìm mờ cả mắt mà chẳng thấy đâu
Dóc tổ, tìm thật chưa mà mờ , nè bồ http://thegioiphp.com/news_cats.php?cat_id=10
real_time viết 13:06 ngày 10/10/2018
bạn àh phân trang trong PHP là gì nhỉ? tớ ko hiểu? bạn phải có data để lưu thì mới bắt đầu phân trang chứ. nếu bạn dùng PHP phân trang với MS SQL server thì bạn phân trang với recordset object là được (cái này trong w3schools.com giới thiệu hoặc php.org cũng có luôn) còn nếu bạn sử dụng My SQL thì việc phân trang phụ thuộc vào câu truy vấn sql của My SQL select * form table limit 1,10 muốn sang trang tiếp theo bạn sẽ viết select * from table limit 10,20) <-- cái này bạn tìm lại tài liệu của My SQL cho chắc chắn vì hình như mình viết có gì đó sai.
ddtncom viết 12:59 ngày 10/10/2018
xin cam on moi nguoi rat nhieu,
W3school toi cung da tim rui, ko thay,
tui muon code phan trang tu cau truy van mýql, tui co viet mot trang nghe nhac, nhung lít dai qua, vi the can phan trang cho tien.
xin duoc giup do nhieu. cam on
lyhuuloi viết 13:04 ngày 10/10/2018
Bạn ddtncom xem bài viết này nhé: Thuật toán phân trang - Support tại forum của trang này.
johnterry viết 13:02 ngày 10/10/2018
<?php
$conn = mysql_connect("localhost","db_username","db_passwo rd");
mysql_select_db("db_name",$conn);
$qr=mysql_query("SELECT * FROM table ORDER BY userid DESC");//
$n_record=mysql_num_rows($qr);//so ban ghi cua bang
$p=5;//so bang ghi trong 1 trang can hien thi

//-------Ham tinh so trang-------------------------
function num_page()
{
global $n_record;//lay bien toan cuc
global $p;
if($n_record%$p==0)
{
$n_page=$n_record/$p;
return $n_page;
}
else
{
$n_page=($n_record-($n_record%$p))/$p+1;
return $n_page;
}
}
//-------------------------------------------------
function view_page($page_number)
{
global $n_record;

echo "<DIV align='right'>";
echo "Page ";
for($i=1;$i<=num_page();$i++)
{
if ($page_number == $i){
echo "<a href='salon_listing.php?n=".$i."'>&nbsp;".$i."</a>";
}else{
echo "<a href='salon_listing.php?n=".$i."'>&nbsp;".$i."</a>";
}
}

}
echo "</DIV>";
//-------------------------------------------------
//echo "<br>";
$n=$HTTP_GET_VARS['n'];//lay bien n tren trinh duyet
$s=($n-1)*$p; //thu tu cua bang ghi tai trang thu n
if ($n!='all')
{
$qr1=mysql_query("SELECT * FROM salon_users ORDER BY userid DESC limit $s,$p");
}
else
{
$qr1=mysql_query("SELECT * FROM salon_users ORDER BY userid DESC");
}
//--------Hien thi bang-----------------------------
view_page($n);
while($row=mysql_fetch_array($qr1))
{
$userid = $row['userid'];
$salon_name = $row['salon_name'];
$salon_address = $row['salon_address'];
$salon_phone = $row['salon_phone'];
$salon_fax = $row['salon_fax'];
$owner_email = $row['owner_email'];
echo "<table width='95%' border='0' align='center'>";
echo "<tr>";
echo "<td colspan='2'><a href='view_salon_detail.php?userid=$userid'><B>$sa lon_name</B></a></td>";
echo "</tr>";
echo "<tr>";
echo "<td width='2%'>salon_phone</td>";
echo "<td width='98%' valign='top'><div align='justify'>$overview &nbsp;<a href='view_salon_detail.php?userid=$userid'>View more...</a></div></td>";
echo "</tr>";
echo "</table><br>";
echo "<table width='90%' border='0' align='center' cellpadding='0' cellspacing='0'>";
echo "<tr>";
echo "<td bgcolor='#666666'></td>";
echo "</tr>";
echo "</table>";
}
view_page($n);
?>
ddtncom viết 13:10 ngày 10/10/2018
Được gửi bởi johnterry
<?php
$conn = mysql_connect("localhost","db_username","db_passwo rd");
mysql_select_db("db_name",$conn);
$qr=mysql_query("SELECT * FROM table ORDER BY userid DESC");//
$n_record=mysql_num_rows($qr);//so ban ghi cua bang
$p=5;//so bang ghi trong 1 trang can hien thi

//-------Ham tinh so trang-------------------------
function num_page()
{
global $n_record;//lay bien toan cuc
global $p;
if($n_record%$p==0)
{
$n_page=$n_record/$p;
return $n_page;
}
else
{
$n_page=($n_record-($n_record%$p))/$p+1;
return $n_page;
}
}
//-------------------------------------------------
function view_page($page_number)
{
global $n_record;

echo "<DIV align='right'>";
echo "Page ";
for($i=1;$i<=num_page();$i++)
{
if ($page_number == $i){
echo "<a href='salon_listing.php?n=".$i."'>&nbsp;".$i."</a>";
}else{
echo "<a href='salon_listing.php?n=".$i."'>&nbsp;".$i."</a>";
}
}

}
echo "</DIV>";
//-------------------------------------------------
//echo "<br>";
if($HTTP_GET_VARS['n']="")
$n=1;
else

$n=$HTTP_GET_VARS['n'];//lay bien n tren trinh duyet
$s=($n-1)*$p; //thu tu cua bang ghi tai trang thu n
if ($n!='all')
{
$qr1=mysql_query("SELECT * FROM salon_users ORDER BY userid DESC limit $s,$p");
}
else
{
$qr1=mysql_query("SELECT * FROM salon_users ORDER BY userid DESC");
}
//--------Hien thi bang-----------------------------
view_page($n);
while($row=mysql_fetch_array($qr1))
{
$userid = $row['userid'];
$salon_name = $row['salon_name'];
$salon_address = $row['salon_address'];
$salon_phone = $row['salon_phone'];
$salon_fax = $row['salon_fax'];
$owner_email = $row['owner_email'];
echo "<table width='95%' border='0' align='center'>";
echo "<tr>";
echo "<td colspan='2'><a href='view_salon_detail.php?userid=$userid'><B>$sa lon_name</B></a></td>";
echo "</tr>";
echo "<tr>";
echo "<td width='2%'>salon_phone</td>";
echo "<td width='98%' valign='top'><div align='justify'>$overview &nbsp;<a href='view_salon_detail.php?userid=$userid'>View more...</a></div></td>";
echo "</tr>";
echo "</table><br>";
echo "<table width='90%' border='0' align='center' cellpadding='0' cellspacing='0'>";
echo "<tr>";
echo "<td bgcolor='#666666'></td>";
echo "</tr>";
echo "</table>";
}
view_page($n);
?>
Cam on bac, code nay rat tuyet, tuy nhien, nhu the nay thi se la hoan` thien.
Cam on rat nhieu.
nkkha viết 12:57 ngày 10/10/2018
Cho em hỏi tý...

Ví dụ em có một CSDL trong đó các record mà số ID ngắt quãng nhau. Vậy em phải làm thế nào để tìm kiếm trên CSDL và phân trang...

Sở dĩ có trường hợp này, là do khi em thử nghiệm chỉ cho hiển thị mỗi trang 2 record. Trong lúc thực hiện em có xóa bớt vài record và để lại trên CSDL một vài khoảng trắng... Kết quả là khi tìm kiếm không như mong đợi: Chỉ có 6 kết quả nhưng phải hiển thị trong 4 trang mới hết vì trang thứ 3 và 4 chỉ hiển thị 1record...

Hết ạ!
dqanh55 viết 13:05 ngày 10/10/2018
http://translate.google.com.vn/trans...nual%26hl%3Dvi
Bài liên quan
0