<?
$num_records = 20; //Amount of records per page
$sql_link = mysql_pconnect ("","","");
mysql_select_db("");
$records = mysql_num_rows(mysql_query("SELECT a.* , m.displayname FROM activity_01pangya a , mem_account m WHERE m.no = a.mem_no")); // Get amount of records
$result = mysql_query("SELECT a.* , m.displayname FROM activity_01pangya a , mem_account m WHERE m.no = a.mem_no ORDER BY m.mem_no ASC LIMIT ".(isset($_GET["start"])?$_GET["start"]:0).",".$num_records); //SELECT specified records
while ($r = mysql_fetch_array($result, MYSQL_ASSOC)){
echo "[$r[mem_no]] : $r[displayname] >> $r[mem_serial]<br>"; // โชว์ id ,ชื่อสมาชิก, โค้ด
}
$pages = ceil($records/$num_records);
for($i = 0; $i < $pages; $i++){
echo "<a href=\"".$_SERVER["PHP_SELF"]."?start=".($i*$num_records)."\">".($i+1)."</a>";
}
?>
อธิบาย $num_records = เป็นตัวแปรจำนวน records ต่อหน้า
$records = mysql_num_rows(mysql_query("SELECT a.* , m.displayname FROM activity_01pangya a , mem_account m WHERE m.no = a.mem_no")); เป็นการ SELECT ข้อมูลทั้งหมดที่มีผลต่อ Query นี้เพื่อนับจำนวนทั้งหมดเก็บไว้ในตัวแปร $records
$result = mysql_query("SELECT a.* , m.displayname FROM activity_01pangya a , mem_account m WHERE m.no = a.mem_no ORDER BY m.mem_no ASC LIMIT ".(isset($_GET["start"])?$_GET["start"]:0).",".$num_records); เป็นการ SELECT record ที่มีผลตามที่ระบุ โดยตรวจสอบว่ามีการส่งตัวแปร start มาใน querystring หรือไม่ ถ้ามีก็ให้เริ่มนำ record ตั้งแต่ที่ระบุเป็นจำนวน $num_records ( LIMIT <recodr เริ่มต้น>, <จำนวน record>

$pages = ceil($records/$num_records); หาจำนวนหน้าทั้งหมด
for($i = 0; $i < $pages; $i++){
echo "<a href=\"".$_SERVER["PHP_SELF"]."?start=".($i*$num_records)."\">".($i+1)."</a>";
} ทำลิงค์เพื่อไปยังหน้าต่างๆ โดยส่งตัวแปร start ไปใน querystring