Thursday, February 17, 2011

แบ่งหน้า ด้วย Code แบบง่าย

ในตัวอย่างข้างล่างเป็นการนำเสนอรายชื่อจังหวัดในประเทศไทย
โดยจะทำการนำมาแสดงหน้าละ 10 รายการ
สามารถดูตัวอย่าง โค้ด และ ดาต้าเบสจังหวัดในประเทศไทย ได้ดังต่อไปนี้
ดาวน์โหลดตัวอย่างดาต้าเบส
คลิกเพื่อดาวน์โหลด

ดูตัวอย่างคลิก

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=windows-874" />  
  5. <title></title>  
  6. <style type="text/css">  
  7. body{  
  8.     font-size:12px;  
  9. }  
  10. </style>  
  11. <?php  
  12.     // สร้างฟังก์ชั่น สำหรับแสดงการแบ่งหน้า  
  13.     function page_navigator($before_p,$plus_p,$total,$total_p){  
  14.         echo $before_p." to ".$plus_p." of ".$total." |  Go to Page ";  
  15.         for($i=0;$i<$total_p;$i++){  
  16.             echo "<a href='?s_page=$i'>".intval($i+1)."</a> ";  
  17.         }  
  18.     }  
  19. ?>  
  20. </head>  
  21.   
  22. <body>  
  23. <?php  
  24. // ทำการเชิ่อมต่อฐานข้อมูล  
  25. $link=mysql_connect("localhost","root","123456"or die("error".mysql_error());  
  26.  mysql_select_db("test",$link);   
  27. ?>  
  28. <?php  
  29.     $q="select * from province ";  // แก้ไขขื่อตารางตามต้องการ  
  30.     $qr=mysql_query($q);  
  31.     $total=mysql_num_rows($qr);  
  32.     $e_page=10; // กำหนด จำนวนรายการที่แสดงในแต่ละหน้า  
  33.     if(!isset($s_page)){  
  34.         $s_page=0;  
  35.     }else{  
  36.         $chk_page=$s_page;    
  37.         $s_page=$s_page*$e_page;  
  38.     }  
  39.     $q.=" limit $s_page,$e_page";  
  40.     $qr=mysql_query($q);  
  41.     if(mysql_num_rows($qr)>=1){  
  42.         $plus_p=($chk_page*$e_page)+mysql_num_rows($qr);  
  43.     }else{  
  44.         $plus_p=($chk_page*$e_page);      
  45.     }  
  46.     $total_p=ceil($total/$e_page);  
  47.     $before_p=($chk_page*$e_page)+1;  
  48. ?>       
  49. <table width="100%" border="0" cellspacing="0" cellpadding="0">  
  50.   <tr>  
  51.     <td bgcolor="#CCCCCC">จังหวัด</td>  
  52.   </tr>  
  53.    <tr>  
  54.   <td>  
  55.   <fieldset>  
  56.  <?php  
  57.  // เรียกใช้งานฟังก์ชั่น สำหรับแสดงการแบ่งหน้า  
  58.   page_navigator($before_p,$plus_p,$total,$total_p);   
  59.   ?>  
  60.   </fieldset>  
  61.   </td>  
  62.   </tr>   
  63.   
  64.   <?php  
  65.     $q="select * from province limit $s_page,$e_page"// แก้ไขขื่อตารางตามต้องการ  
  66.     $qr=mysql_query($q);  
  67.     while($rs=mysql_fetch_array($qr)){  
  68.   ?>  
  69.   <tr>  
  70.     <td bgcolor="#F2F2F2"><?=$rs['name_province']?></td>  
  71.   </tr>    
  72.   <?php } ?>  
  73.   <tr>  
  74.   <td>  
  75.   <fieldset>  
  76.  <?php  
  77.   // เรียกใช้งานฟังก์ชั่น สำหรับแสดงการแบ่งหน้า  
  78.   page_navigator($before_p,$plus_p,$total,$total_p);   
  79.   ?>  
  80.   </fieldset>  
  81.   </td>  
  82.   </tr>  
  83. </table>  
  84. </body>  
  85. </html>  


  1. --   
  2. -- Table structure for table `province`  
  3. --   
  4.   
  5. CREATE TABLE `province` (  
  6.   `id_province` int(11) NOT NULL auto_increment,  
  7.   `name_province` varchar(255) NOT NULL default '',  
  8.   PRIMARY KEY  (`id_province`)  
  9. ) ENGINE=MyISAM DEFAULT CHARSET=tis620 AUTO_INCREMENT=77 ;  
  10.   
  11. --   
  12. -- Dumping data for table `province`  
  13. --   
  14.   
  15. INSERT INTO `province` VALUES (1, 'กรุงเทพมหานคร');  
  16. INSERT INTO `province` VALUES (2, 'กระบี่');  
  17. INSERT INTO `province` VALUES (3, 'กาญจนบุรี');  
  18. INSERT INTO `province` VALUES (4, 'กาฬสินธุ์');  
  19. INSERT INTO `province` VALUES (5, 'กำแพงเพชร');  
  20. INSERT INTO `province` VALUES (6, 'ขอนแก่น');  
  21. INSERT INTO `province` VALUES (7, 'จันทบุรี');  
  22. INSERT INTO `province` VALUES (8, 'ฉะเชิงเทรา');  
  23. INSERT INTO `province` VALUES (9, 'ชลบุรี');  
  24. INSERT INTO `province` VALUES (10, 'ชัยนาท');  
  25. INSERT INTO `province` VALUES (11, 'ชัยภูมิ');  
  26. INSERT INTO `province` VALUES (12, 'ชุมพร');  
  27. INSERT INTO `province` VALUES (13, 'เชียงราย');  
  28. INSERT INTO `province` VALUES (14, 'เชียงใหม่');  
  29. INSERT INTO `province` VALUES (15, 'ตรัง');  
  30. INSERT INTO `province` VALUES (16, 'ตราด');  
  31. INSERT INTO `province` VALUES (17, 'ตาก');  
  32. INSERT INTO `province` VALUES (18, 'นครนายก');  
  33. INSERT INTO `province` VALUES (19, 'นครปฐม');  
  34. INSERT INTO `province` VALUES (20, 'นครพนม');  
  35. INSERT INTO `province` VALUES (21, 'นครราชสีมา');  
  36. INSERT INTO `province` VALUES (22, 'นครศรีธรรมราช');  
  37. INSERT INTO `province` VALUES (23, 'นครสวรรค์');  
  38. INSERT INTO `province` VALUES (24, 'นนทบุรี');  
  39. INSERT INTO `province` VALUES (25, 'นราธิวาส');  
  40. INSERT INTO `province` VALUES (26, 'น่าน');  
  41. INSERT INTO `province` VALUES (27, 'บุรีรัมย์');  
  42. INSERT INTO `province` VALUES (28, 'ปทุมธานี');  
  43. INSERT INTO `province` VALUES (29, 'ประจวบคีรีขันธ์');  
  44. INSERT INTO `province` VALUES (30, 'ปราจีนบุรี');  
  45. INSERT INTO `province` VALUES (31, 'ปัตตานี');  
  46. INSERT INTO `province` VALUES (32, 'พระนครศรีอยุธยา');  
  47. INSERT INTO `province` VALUES (33, 'พะเยา');  
  48. INSERT INTO `province` VALUES (34, 'พังงา');  
  49. INSERT INTO `province` VALUES (35, 'พัทลุง');  
  50. INSERT INTO `province` VALUES (36, 'พิจิตร');  
  51. INSERT INTO `province` VALUES (37, 'พิษณุโลก');  
  52. INSERT INTO `province` VALUES (38, 'เพชรบุรี');  
  53. INSERT INTO `province` VALUES (39, 'เพชรบูรณ์');  
  54. INSERT INTO `province` VALUES (40, 'แพร่');  
  55. INSERT INTO `province` VALUES (41, 'ภูเก็ต');  
  56. INSERT INTO `province` VALUES (42, 'มหาสารคาม');  
  57. INSERT INTO `province` VALUES (43, 'มุกดาหาร');  
  58. INSERT INTO `province` VALUES (44, 'แม่ฮ่องสอน');  
  59. INSERT INTO `province` VALUES (45, 'ยโสธร');  
  60. INSERT INTO `province` VALUES (46, 'ยะลา');  
  61. INSERT INTO `province` VALUES (47, 'ร้อยเอ็ด');  
  62. INSERT INTO `province` VALUES (48, 'ระนอง');  
  63. INSERT INTO `province` VALUES (49, 'ระยอง');  
  64. INSERT INTO `province` VALUES (50, 'ราชบุรี');  
  65. INSERT INTO `province` VALUES (51, 'ลพบุรี');  
  66. INSERT INTO `province` VALUES (52, 'ลำปาง');  
  67. INSERT INTO `province` VALUES (53, 'ลำพูน');  
  68. INSERT INTO `province` VALUES (54, 'เลย');  
  69. INSERT INTO `province` VALUES (55, 'ศรีสะเกษ');  
  70. INSERT INTO `province` VALUES (56, 'สกลนคร');  
  71. INSERT INTO `province` VALUES (57, 'สงขลา');  
  72. INSERT INTO `province` VALUES (58, 'สตูล');  
  73. INSERT INTO `province` VALUES (59, 'สมุทรปราการ');  
  74. INSERT INTO `province` VALUES (60, 'สมุทรสงคราม');  
  75. INSERT INTO `province` VALUES (61, 'สมุทรสาคร');  
  76. INSERT INTO `province` VALUES (62, 'สระแก้ว');  
  77. INSERT INTO `province` VALUES (63, 'สระบุรี');  
  78. INSERT INTO `province` VALUES (64, 'สิงห์บุรี');  
  79. INSERT INTO `province` VALUES (65, 'สุโขทัย');  
  80. INSERT INTO `province` VALUES (66, 'สุพรรณบุรี');  
  81. INSERT INTO `province` VALUES (67, 'สุราษฎร์ธานี');  
  82. INSERT INTO `province` VALUES (68, 'สุรินทร์');  
  83. INSERT INTO `province` VALUES (69, 'หนองคาย');  
  84. INSERT INTO `province` VALUES (70, 'หนองบัวลำภู');  
  85. INSERT INTO `province` VALUES (71, 'อ่างทอง');  
  86. INSERT INTO `province` VALUES (72, 'อำนาจเจริญ');  
  87. INSERT INTO `province` VALUES (73, 'อุดรธานี');  
  88. INSERT INTO `province` VALUES (74, 'อุตรดิตถ์');  
  89. INSERT INTO `province` VALUES (75, 'อุทัยธานี');  
  90. INSERT INTO `province` VALUES (76, 'อุบลราชธานี'); 

1 comments:

sakdichai said...

ถ้าต้องการแสดงข้อมูลตามภาคเพิ่มตรงไหนครับ เช่น ภาคกลาง ก็ขึ้นแค่จังหวัดในภาคกลาง

Post a Comment

 
Design by sutoday | Bloggerized by storesu - suvachai | laikeng