โค้ดแบ่งหน้าอีกแบบ
ตัวอย่างการทำการแบ่งหน้าเพจ แบบทั่วๆไป
การใช้งาน ต้องมีการ query อย่างน้อย 2 ครั้ง โดยครั้งแรกต้อง query เอาจำนวนข้อมูลทั้งหมดออกมาก่อน เพื่อกำหนดให้กับ $count
$sql1 = "SELECT COUNT(id) FROM webboard WHERE 1;";
$count = my_sql_num_rows( $query );
ครั้งที่ 2 เอาค่าที่คำนวณได้ คือ $start ไปกำหนดให้กับ query ที่ 2 เพื่อเอาข้อมูลที่จะแสดงออกมา
$sql2 = "SELECT * FROM webbard WHERE 1 LIMIT $start $list_per_page;";
ตัวอย่างการ query ของเว็บบอร์ด เพื่อเอาข้อมูลมาแสดง
<?
$page=$_GET[page];
$list_per_page = 10; //กำหนดจำนวนแสดงต่อหน้า
if (empty($page)) $page=1; //แสดงหน้าแรก
$group=floor($page/$list_per_page )+1; //กลุ่มหน้า
$count=30; //จำนวนข้อมูลทั้งหมด อ่านออกมาจากฐานข้อมูล
$pages=$count/$list_per_page ;
if ($pages*$list_per_page <$count) $pages++; //มีเศษให้ + อีก 1
$start=$group*$list_per_page -9;
echo "แสดงหน้าที่ $page<br />group=$group<br />start=$start<br /><br /><br />"; //เอาต่าเหล่านี้ไปกำหนดในฐานข้อมูล
for ($i=1; $i<=$pages;$i++) {
if ($i!=$group) echo "[<a href=?page=".(($i-1)*10+1).">$i</a>] "; //แสดงกลุ่มหน้า
else {
$end=$start+10;
for ($n=$start; $n<$end;$n++) {
if ($n!=$page) echo "<a href=?page=$n>$n</a>, ";
else echo "<font color=red>$n</font>, ";
}
}
}
?>
การใช้งาน ต้องมีการ query อย่างน้อย 2 ครั้ง โดยครั้งแรกต้อง query เอาจำนวนข้อมูลทั้งหมดออกมาก่อน เพื่อกำหนดให้กับ $count
$sql1 = "SELECT COUNT(id) FROM webboard WHERE 1;";
$count = my_sql_num_rows( $query );
ครั้งที่ 2 เอาค่าที่คำนวณได้ คือ $start ไปกำหนดให้กับ query ที่ 2 เพื่อเอาข้อมูลที่จะแสดงออกมา
$sql2 = "SELECT * FROM webbard WHERE 1 LIMIT $start $list_per_page;";
ตัวอย่างการ query ของเว็บบอร์ด เพื่อเอาข้อมูลมาแสดง