:: การตัดหน้าข้อมูลแสดงผล ::









ติดต่อเรา

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> ";
}

?>


 

สงวนลิขสิทธิ์ © 2546-2550 โดย dwthai.com ห้ามการ copy ส่วนใดส่วนหนึ่งของเว็บไซต์แห่งนี้.