
ติดต่อเรา
webmaster_dwthai @yahoo.com
webmaster@dwthai.com
08-9495-7296
|
การแบ่งหน้าแสดงผลข้อมูลดูรู้สึกว่า..จะเป็นปัญหาสำหรับผู้ที่เขียน
Web Application มือใหม่ทั้งหลาย เนื่องจากว่า.. ต้องอาศัยแนวคิด และการคำนวนอยู่พอสมควรเลยทีเดียว
ผมเองในการเริ่มฝึกเขียนใหม่ ๆ ก็งมโข่งอยู่หลายวันเหมือนกันกับเรื่องตรงนี้
ในบทความนี้จึงนำเอามาให้ท่านลองศึกษากันดูครับ
การตัดหน้าข้อมูลแสดงผล
<?php
$link=mysql_connect("localhost","username","password");
mysql_select_db("database name",$link);
$sql="Select count(*) From stu_name";
//นับจำนวน Record ทั้งหมดใน Table
$rs=mysql_query($sql);
$total_rec=mysql_result($rs,0,0); // เก็บจำนวน Record
ทั้งหมดไว้ใน $total_page
$p_size=25; //กำหนดจำนวน Record ที่จะแสดงผลต่อ 1
เพจ
$total_page=(int)($total_rec/$p_size);
//ทำการหารหาจำนวนหน้าทั้งหมดของข้อมูล ในที่นี้ให้หารออกมาเป็นเลขจำนวนเต็ม
if(($total_rec % $p_size)!=0){ //ถ้าข้อมูลมีเศษให้ทำการบวกเพิ่มจำนวนหน้าอีก
1
$total_page++;
}
if(empty($_GET['page'])){
/*
ถ้่ายังไม่มีการส่งค่ามาเพื่อทำการเลือกดูหน้าข้อมูลใด ๆ ให้กำหนดเป็นหน้าแรกของข้อมูลเป็นค่า
Default และให้ Record แรกเริ่มที่ Record ที่ 0 หรือ Record แรก
*/
$page=1;
$start=0;
}else{
/*
หากมีการส่งค่ามาเพื่อเลือกดูหน้าข้อมูลหน้าใดให้ทำการคำนวน โดยใช้ จำนวนข้อมูลที่ต้องการแสดงต่อ
1 เพจ คูณกับ หน้าข้อมูลที่ต้องการเลือกชม ลบด้วย 1
*/
$page=$_GET['page'];
$start=$p_size*($page-1);
}
$sql="Select * From stu_name LIMIT $start
, $p_size";
//ใช้ Option LIMIT ของ MySQL เพื่อทำการเลือกข้อมูลออกมาตามต้องการ
$rs=mysql_query($sql);
while($result=mysql_fetch_array($rs)){ //วนรอบแสดงข้อมูล
echo $result["Name"]."<br>";
}
for($i=1;$i<=$total_page;$i++){ //สร้าง Link
เพื่อให้ผู้ใช้งานเลือกชมหน้าข้อมูล
echo "<a href=".$_SERVER['PHP_SELF']."?page=".$i.">หน้าที่
".$i."</a> ";
}
?>
|