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

ข่าวประกาศ หรือกระทู้ถามนี้ ปิดการถาม-ตอบ ไม่สามารถตอบกลับได้
ความคิดเห็นที่
1
จากกระทู้ https://www.ninenik.com/forum_view_2181_1.html
>>> อัพเดท >>> 02-12-2018
------------------------------------------
เพิ่มเติมแนวทางในการตรวจสอบข้อมูลได้ที่ลิ้งค์ด้านล่าง
http://niik.in/que_2798_6304
>>> อัพเดท >>> 13-03-2019
------------------------------------------
ลิ้งค์สำหรับทดสอบคำสั่ง mysql ออนไลน์
https://www.w3schools.com/sql/trymysql.asp?filename=trysql_select_all
http://www.mysqltutorial.org/tryit/
การ insert แล้วข้อมูลไม่เข้าใน database ต้องไล่การทำงานตามลำดับ
หน้ารับค่า แบบนี้เป็นแนวทาง
ตัวอย่างไฟล์ dbconnect.php
1 2 3 4 5 6 7 8 9 10 11 | <?php $mysqli = new mysqli( "localhost" , "root" , "" , "test" ); /* check connection */ if ( $mysqli ->connect_errno) { printf( "Connect failed: %s\n" , $mysqli ->connect_error); exit (); } if (! $mysqli ->set_charset( "utf8" )) { printf( "Error loading character set utf8: %s\n" , $mysqli ->error); exit (); } |
- ตรวจสอบว่ามีการเรียกใช้การเชื่อมต่อกับ database แล้วหรือไม่
1 2 3 4 | <?php session_start(); require_once ( "dbconnect.php" ); ?> |
- เข้าเงื่อนไข การรับค่าหรือไม่ เช่น ส่งค่ามา มีการการเช็คค่า และเข้าเงื่อนไขหรือไม่
1 2 3 4 5 | <?php if (isset( $_POST [ 'btn_submit' ]) && $_POST [ 'btn_submit' ]!= "" ){ echo "check submit" ; } ?> |
- ดูว่าชนิดของตัวแปรที่ส่งมา กับเงื่อนไขเป็นตัวแปรประเภทเดียวกันหรือไม่
เช่น ส่งแบบ GET ต้องเช็คที่ตัวแปร $_GET['xxxx'] หรือ ส่งแบบ POST ต้องเช็คด้วยตัวแปร $_POST
1 2 3 4 5 6 7 8 9 | <form name= "form1" method= "post" action= "" > <input type= "text" name= "data" id= "data" > <input type= "submit" name= "btn_submit" id= "btn_submit" value= "Submit" > </form> <?php if (isset( $_POST [ 'btn_submit' ]) && $_POST [ 'btn_submit' ]!= "" ){ echo "check submit" ; } ?> |
หรือ
1 2 3 4 5 6 7 8 9 | <form name= "form1" method= "get" action= "" > <input type= "text" name= "data" id= "data" > <input type= "submit" name= "btn_submit" id= "btn_submit" value= "Submit" > </form> <?php if (isset( $_GET [ 'btn_submit' ]) && $_GET [ 'btn_submit' ]!= "" ){ echo "check submit" ; } ?> |
- เช็คว่าค่าที่ส่งมา ส่งมาครบหรือไม่ รูปแบบตัวแปรหรือชนิดของตัวแปรถูกต้องหรือไม่
1 2 3 4 5 6 7 8 | <?php if (isset( $_POST [ 'btn_submit' ]) && $_POST [ 'btn_submit' ]!= "" ){ echo "<pre>" ; print_r( $_POST ); // ตัวแปร POST ส่งอะไรมาบ้าง ส่งมาครับไหม print_r( $_GET ); // ตัวแปร _GET ส่งอะไรมาบ้าง ส่งมาครับไหม echo "</pre>" ; } ?> |
- หลัง submit ข้อมูลตรวจสอบคำสั่ง sql ว่าเป็นค่าที่ถูกต้องหรือไม่
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php session_start(); require_once ( "dbconnect.php" ); if (isset( $_POST [ 'btn_submit' ]) && $_POST [ 'btn_submit' ]!= "" ){ $sql =" INSERT INTO tbl_demo SET data= '".$_POST[' data ']."' "; echo $sql ; // แสดงคำส่ัง sql ว่ารูปแบบถูกต้องหรือไม่ exit ; // หยุดทำงาน $mysqli ->query( $sql ); } ?> |
- กรณีคำสั่ง sql มีรูปแบบไม่ถูกต้องหรือต้องการป้องกัน sql injection สามารถเพิ่มคำสั่งป้องกันเพิ่มเติมได้
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php session_start(); require_once ( "dbconnect.php" ); if (isset( $_POST [ 'btn_submit' ]) && $_POST [ 'btn_submit' ]!= "" ){ // ป้องกัน sql injection อย่างง่าย สามารถไปสร้างเป็นฟังก์ชั่เพื่อรียกใช้งานได้ $_POST [ 'data' ] = $mysqli ->real_escape_string( $_POST [ 'data' ]); $sql =" INSERT INTO tbl_demo SET data= '".$_POST[' data ']."' "; echo $sql ; // แสดงคำส่ัง sql ว่ารูปแบบถูกต้องหรือไม่ exit ; // หยุดทำงาน $mysqli ->query( $sql ); } ?> |
- เช็คว่าคำสั่ง sql นั้นทำการคิวรี่ สำเร็จหรือไม่
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php session_start(); require_once ( "dbconnect.php" ); if (isset( $_POST [ 'btn_submit' ]) && $_POST [ 'btn_submit' ]!= "" ){ // ป้องกัน sql injection อย่างง่าย สามารถไปสร้างเป็นฟังก์ชั่เพื่อรียกใช้งานได้ $_POST [ 'data' ] = $mysqli ->real_escape_string( $_POST [ 'data' ]); $sql =" INSERT INTO tbl_demo SET data= '".$_POST[' data ']."' "; $result = $mysqli ->query( $sql ); if ( $result ){ echo "query success" ; } } ?> |
บางกรณีการส่งข้อมูลจำนวนมากๆ อาจจะถูกจำกัดด้วยตัวจัดการ php
เช่น php_value post_max_size เราสามารถปรับแค่โดยการกำหนดใน php.ini ได้
>>> อัพเดท >>> 02-12-2018
------------------------------------------
เพิ่มเติมแนวทางในการตรวจสอบข้อมูลได้ที่ลิ้งค์ด้านล่าง
http://niik.in/que_2798_6304
>>> อัพเดท >>> 13-03-2019
------------------------------------------
ลิ้งค์สำหรับทดสอบคำสั่ง mysql ออนไลน์
https://www.w3schools.com/sql/trymysql.asp?filename=trysql_select_all
http://www.mysqltutorial.org/tryit/

ความคิดเห็นที่
2
แนวทางการตรวจสอบการเชื่อมต่อกับฐานข้อมูลบน server ด้วย mysqli
ตัวอย่างไฟล์เชื่อมต่อฐานข้อมูล
ไฟล์ dbconnect.php
1 2 3 4 5 6 7 8 9 10 11 | <?php $mysqli = new mysqli( "localhost" , "ชื่อ user" , "รหัสผ่าน" , "ชื่อ database" ); /* check connection */ if ( $mysqli ->connect_errno) { printf( "Connect failed: %s\n" , $mysqli ->connect_error); exit (); } if (! $mysqli ->set_charset( "utf8" )) { printf( "Error loading character set utf8: %s\n" , $mysqli ->error); exit (); } |
- ตรวจสอบว่ามีการเรียกใช้การเชื่อมต่อกับ database แล้วหรือไม่
1 2 3 4 | <?php // โค้ดไฟล์ dbconnect.php ดูได้ที่ http://niik.in/que_2398_5642 require_once ( "dbconnect.php" ); ?> |
1 2 3 4 5 | <?php session_start(); // โค้ดไฟล์ dbconnect.php ดูได้ที่ http://niik.in/que_2398_5642 require_once ( "dbconnect.php" ); ?> |
หากเราไม่สามารถเชื่อมต่อฐานข้อมูลได้ เงื่อนไขจะเข้า if ($mysqli->connect_errno) {
ให้ตรวจสอบว่า ใส่ชื่อ user , รหัสผ่าน หรือชื่อ database ถูกต้องแล้วหรือไม่
- ตรวจสอบการคิวรี่ข้อมูลว่าทำสำเร็จหรือไม่ และตรวจสอบว่ามีข้อมูลหรือไม่
1 2 3 4 5 6 7 8 9 | <?php $sql = " SELECT * FROM tbl_a "; $result = $mysqli ->query( $sql ); if ( $result && $result ->num_rows>0){ // คิวรี่ข้อมูลสำเร็จหรือไม่ และมีรายการข้อมูลหรือไม่ } ?> |
- ตรวจสอบว่าคิววรี่สำเร็จและถ้ามีข้อมูล ให้แสดงรายการข้อมูลนั้น กรณีมีรายการเดียว
1 2 3 4 5 6 7 8 9 10 | <?php $sql = " SELECT * FROM tbl_a "; $result = $mysqli ->query( $sql ); if ( $result && $result ->num_rows>0){ // คิวรี่ข้อมูลสำเร็จหรือไม่ และมีรายการข้อมูลหรือไม่ $row = $result ->fetch_assoc(); echo $row [ 'mydata' ]; } ?> |
- ตรวจสอบว่าคิววรี่สำเร็จและถ้ามีข้อมูล ให้แสดงรายการข้อมูลนั้น กรณีมีหลายรายการ
1 2 3 4 5 6 7 8 9 10 11 | <?php $sql = " SELECT * FROM tbl_a "; $result = $mysqli ->query( $sql ); if ( $result && $result ->num_rows>0){ // คิวรี่ข้อมูลสำเร็จหรือไม่ และมีรายการข้อมูลหรือไม่ while ( $row = $result ->fetch_assoc()){ // วนลูปแสดงรายการ echo $row [ 'mydata' ]; } } ?> |
- ตรวจสอบว่าคิววรี่สำเร็จและถ้ามีข้อมูลให้อัพเดท หรือถ้าไม่มีข้อมูล ให้เพิ่มรายการใหม่
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php $sql = " SELECT a_id,a_name FROM tbl_a "; $result = $mysqli ->query( $sql ); if ( $result && $result ->num_rows>0){ // คิวรี่ข้อมูลสำเร็จหรือไม่ และมีรายการข้อมูลหรือไม่ $row = $result ->fetch_assoc(); $sql_update =" UPDATE tbl_a SET a_name= 'new value' WHERE a_id= '".$row[' a_id ']."' "; $mysqli ->query( $sql_update ); } else { $sql_insert =" INSERT INTO tbl_a SET a_name= 'new a_name' "; $mysqli ->query( $sql_insert ); } ?> |
- ตรวจสอบว่าการ UPDATE ข้อมูลมีการคิวรี่หรือไม่ และมีการเปลี่ยนแปลงค่าเกิดขึ้นหรือไม่
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <?php $sql = " SELECT a_id,a_name FROM tbl_a "; $result = $mysqli ->query( $sql ); if ( $result && $result ->num_rows>0){ // คิวรี่ข้อมูลสำเร็จหรือไม่ และมีรายการข้อมูลหรือไม่ $row = $result ->fetch_assoc(); $sql_update =" UPDATE tbl_a SET a_name= 'new value' WHERE a_id= '".$row[' a_id ']."' "; if ( $mysqli ->query( $sql_update )){ // มีการคิวรี่อัพเพทข้อมูล if ( $mysqli ->affected_rows>0){ // การคิวรี่มีการเปลี่ยนแปลงค่า } else { // การคิวรี่ไม่มีการเปลี่ยนแปลงค่า เช่น กรณีเราอัพเดทค่าเดิม } } } else { $sql_insert =" INSERT INTO tbl_a SET a_name= 'new a_name' "; $mysqli ->query( $sql_insert ); } ?> |
- ตรวจสอบว่าการ INSERT ข้อมูลใหม่ มีการคิวรี่เกิดขึ้นหรือไม่ แล้วเกิดการเพิ่มรายการขึ้นหรือไม่
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | <?php $sql = " SELECT a_id,a_name FROM tbl_a "; $result = $mysqli ->query( $sql ); if ( $result && $result ->num_rows>0){ // คิวรี่ข้อมูลสำเร็จหรือไม่ และมีรายการข้อมูลหรือไม่ $row = $result ->fetch_assoc(); $sql_update =" UPDATE tbl_a SET a_name= 'new value' WHERE a_id= '".$row[' a_id ']."' "; if ( $mysqli ->query( $sql_update )){ // มีการคิวรี่อัพเพทข้อมูล if ( $mysqli ->affected_rows>0){ // การคิวรี่มีการเปลี่ยนแปลงค่า } else { // การคิวรี่ไม่มีการเปลี่ยนแปลงค่า เช่น กรณีเราอัพเดทค่าเดิม } } } else { $sql_insert =" INSERT INTO tbl_a SET a_name= 'new a_name' "; $result = $mysqli ->query( $sql_insert ); if ( $result && $mysqli ->affected_rows>0){ // มีการคิวรี่และมีการเพิ่มรายการ } } ?> |
- ตรวจสอบว่า primary key หรือ ID ของรายการที่เพิ่มมาใหม่ มีค่าคืออะไร
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | <?php $sql = " SELECT a_id,a_name FROM tbl_a "; $result = $mysqli ->query( $sql ); if ( $result && $result ->num_rows>0){ // คิวรี่ข้อมูลสำเร็จหรือไม่ และมีรายการข้อมูลหรือไม่ $row = $result ->fetch_assoc(); $sql_update =" UPDATE tbl_a SET a_name= 'new value' WHERE a_id= '".$row[' a_id ']."' "; if ( $mysqli ->query( $sql_update )){ // มีการคิวรี่อัพเพทข้อมูล if ( $mysqli ->affected_rows>0){ // การคิวรี่มีการเปลี่ยนแปลงค่า } else { // การคิวรี่ไม่มีการเปลี่ยนแปลงค่า เช่น กรณีเราอัพเดทค่าเดิม } } } else { $sql_insert =" INSERT INTO tbl_a SET a_name= 'new a_name' "; $result = $mysqli ->query( $sql_insert ); if ( $result && $mysqli ->affected_rows>0){ // มีการคิวรี่และมีการเพิ่มรายการ $insert_userID = $mysqli ->insert_id; // primary key ของรายการที่เพิ่มเข้ามาใหม่ } } ?> |
- การตรวจสอบรายการที่มีการเปลี่ยนแปลงว่ามีกี่แถวที่มีการเปลี่ยนแปลง หรือมีข้อมูลกี่แถว
SELECT ใช้
1 | $result ->num_rows>0 |
กรณ๊คำสั่ง INSERT UPDATE DELETE ใช้
1 | $mysqli ->affected_rows |
- รูปแบบการ SELECT ข้อมูล ใช้คำสั่งในกรณีต้องการข้อมูลหรือชุดข้อมูลในรูปแบบต่างๆ กันสามารถ
กำหนดได้ดังนี้ มีให้เลือก 4 แบบ
1 2 3 4 | $result ->fetch_assoc() // ส่งค่ากลับมาแบบ array key เป็นชื่อ field $result ->fetch_row() // ส่งค่ากลับมาแบบ array key เป็น index เริ่มที่ 0,1 .... $result ->fetch_array() // ส่งค่าทั้งแบบ assoc และ row $result ->fetch_object() // ส่งค่ากลับมาแบบ object |
- การปิดการเชื่อมต่อ mysql ใช้คำสั่ง แต่โดยปกติแล้ว มีคำสั่งสุดสิ้นสุดลง การปิดการเชื่อมต่อ
จะเกิดขึ้นเองโดยอัตโนมัติ เราอาจจะใช้หรือไม่ก็ได้
1 | $mysqli ->close(); // ปิดการเชิ่อมต่อ server database mysql |
>>> อัพเดท >>> 02-12-2018
------------------------------------------
เพิ่มเติมแนวทางในการตรวจสอบข้อมูลได้ที่ลิ้งค์ด้านล่าง
http://niik.in/que_2798_6304
>>> อัพเดท >>> 04-07-2019
------------------------------------------
การใช้งาน Prepared Statement
การใช้งาน MySQL ในรูปแบบ Prepared Statement เบื้องต้น http://niik.in/927
https://www.ninenik.com/content.php?arti_id=927 via @ninenik

ความคิดเห็นที่
3
CDN RESOURCES
Bootstrap 4.5.0
https://unpkg.com/bootstrap@4.5.0/dist/Jquery 3.3.1
https://unpkg.com/jquery@3.3.1/dist/SIMEPLE HTML WITH BOOTSTRAP 4.5.0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <!doctype html> <html lang= "th" > <head> <meta charset= "utf-8" > <meta name= "viewport" content= "width=device-width, initial-scale=1, shrink-to-fit=no" > <title>Document</title> </head> <body> <script type= "text/javascript" > $( function (){ }); </script> </body> </html> |
>>> อัพเดท >>> 01-05-2018
------------------------------------------
เพิ่มเติม
https://cdnjs.com/libraries/>>> อัพเดท >>> 02-05-2018
------------------------------------------
Meata ป้องกันการ zoom หน้าเพจ
1 | <meta name= "viewport" content= "width=device-width, user-scalable=no" /> |
>>> อัพเดท >>> 23-01-2019
------------------------------------------
FONT-AWESOME
1 | <link rel= "stylesheet" href= "//cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.min.css" > |

ความคิดเห็นที่
4
ตารางฐานข้อมูลจังหวัด สำหรับใช้ในการทดสอบ ในบทความต่างๆ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | -- -- Table structure for table `tbl_provinces` -- CREATE TABLE `tbl_provinces` ( `province_id` int (5) NOT NULL , `province_code` varchar (2) NOT NULL , `province_name` varchar (150) NOT NULL , `province_name_eng` varchar (150) NOT NULL , `geo_id` int (5) NOT NULL DEFAULT '0' , `last_update` datetime NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Dumping data for table `tbl_provinces` -- INSERT INTO `tbl_provinces` (`province_id`, `province_code`, `province_name`, `province_name_eng`, `geo_id`, `last_update`) VALUES (1, '10' , 'กรุงเทพมหานคร' , 'Bangkok' , 2, '2018-09-19 12:11:03' ), (2, '11' , 'สมุทรปราการ' , 'Samut Prakan' , 2, '2018-09-19 12:11:03' ), (3, '12' , 'นนทบุรี' , 'Nonthaburi' , 2, '2018-09-19 12:11:03' ), (4, '13' , 'ปทุมธานี' , 'Pathum Thani' , 2, '2018-09-19 12:11:03' ), (5, '14' , 'พระนครศรีอยุธยา' , 'Phra Nakhon Si Ayutthaya' , 2, '2018-09-19 12:11:03' ), (6, '15' , 'อ่างทอง' , 'Ang Thong' , 2, '2018-09-19 12:11:03' ), (7, '16' , 'ลพบุรี' , 'Loburi' , 2, '2018-09-19 12:11:03' ), (8, '17' , 'สิงห์บุรี' , 'Sing Buri' , 2, '2018-09-19 12:11:03' ), (9, '18' , 'ชัยนาท' , 'Chai Nat' , 2, '2018-09-19 12:11:03' ), (10, '19' , 'สระบุรี' , 'Saraburi' , 2, '2018-09-19 12:11:03' ), (11, '20' , 'ชลบุรี' , 'Chon Buri' , 5, '2018-09-19 12:11:03' ), (12, '21' , 'ระยอง' , 'Rayong' , 5, '2018-09-19 12:11:03' ), (13, '22' , 'จันทบุรี' , 'Chanthaburi' , 5, '2018-09-19 12:11:03' ), (14, '23' , 'ตราด' , 'Trat' , 5, '2018-09-19 12:11:03' ), (15, '24' , 'ฉะเชิงเทรา' , 'Chachoengsao' , 5, '2018-09-19 12:11:03' ), (16, '25' , 'ปราจีนบุรี' , 'Prachin Buri' , 5, '2018-09-19 12:11:03' ), (17, '26' , 'นครนายก' , 'Nakhon Nayok' , 2, '2018-09-19 12:11:03' ), (18, '27' , 'สระแก้ว' , 'Sa Kaeo' , 5, '2018-09-19 12:11:03' ), (19, '30' , 'นครราชสีมา' , 'Nakhon Ratchasima' , 3, '2018-09-19 12:11:03' ), (20, '31' , 'บุรีรัมย์' , 'Buri Ram' , 3, '2018-09-19 12:11:03' ), (21, '32' , 'สุรินทร์' , 'Surin' , 3, '2018-09-19 12:11:03' ), (22, '33' , 'ศรีสะเกษ' , 'Si Sa Ket' , 3, '2018-09-19 12:11:03' ), (23, '34' , 'อุบลราชธานี' , 'Ubon Ratchathani' , 3, '2018-09-19 12:11:03' ), (24, '35' , 'ยโสธร' , 'Yasothon' , 3, '2018-09-19 12:11:03' ), (25, '36' , 'ชัยภูมิ' , 'Chaiyaphum' , 3, '2018-09-19 12:11:03' ), (26, '37' , 'อำนาจเจริญ' , 'Amnat Charoen' , 3, '2018-09-19 12:11:03' ), (27, '39' , 'หนองบัวลำภู' , 'Nong Bua Lam Phu' , 3, '2018-09-19 12:11:03' ), (28, '40' , 'ขอนแก่น' , 'Khon Kaen' , 3, '2018-09-19 12:11:03' ), (29, '41' , 'อุดรธานี' , 'Udon Thani' , 3, '2018-09-19 12:11:03' ), (30, '42' , 'เลย' , 'Loei' , 3, '2018-09-19 12:11:03' ), (31, '43' , 'หนองคาย' , 'Nong Khai' , 3, '2018-09-19 12:11:03' ), (32, '44' , 'มหาสารคาม' , 'Maha Sarakham' , 3, '2018-09-19 12:11:03' ), (33, '45' , 'ร้อยเอ็ด' , 'Roi Et' , 3, '2018-09-19 12:11:03' ), (34, '46' , 'กาฬสินธุ์' , 'Kalasin' , 3, '2018-09-19 12:11:03' ), (35, '47' , 'สกลนคร' , 'Sakon Nakhon' , 3, '2018-09-19 12:11:03' ), (36, '48' , 'นครพนม' , 'Nakhon Phanom' , 3, '2018-09-19 12:11:03' ), (37, '49' , 'มุกดาหาร' , 'Mukdahan' , 3, '2018-09-19 12:11:03' ), (38, '50' , 'เชียงใหม่' , 'Chiang Mai' , 1, '2018-09-19 12:11:03' ), (39, '51' , 'ลำพูน' , 'Lamphun' , 1, '2018-09-19 12:11:03' ), (40, '52' , 'ลำปาง' , 'Lampang' , 1, '2018-09-19 12:11:03' ), (41, '53' , 'อุตรดิตถ์' , 'Uttaradit' , 1, '2018-09-19 12:11:03' ), (42, '54' , 'แพร่' , 'Phrae' , 1, '2018-09-19 12:11:03' ), (43, '55' , 'น่าน' , 'Nan' , 1, '2018-09-19 12:11:03' ), (44, '56' , 'พะเยา' , 'Phayao' , 1, '2018-09-19 12:11:03' ), (45, '57' , 'เชียงราย' , 'Chiang Rai' , 1, '2018-09-19 12:11:03' ), (46, '58' , 'แม่ฮ่องสอน' , 'Mae Hong Son' , 1, '2018-09-19 12:11:03' ), (47, '60' , 'นครสวรรค์' , 'Nakhon Sawan' , 2, '2018-09-19 12:11:03' ), (48, '61' , 'อุทัยธานี' , 'Uthai Thani' , 2, '2018-09-19 12:11:03' ), (49, '62' , 'กำแพงเพชร' , 'Kamphaeng Phet' , 2, '2018-09-19 12:11:03' ), (50, '63' , 'ตาก' , 'Tak' , 4, '2018-09-19 12:11:03' ), (51, '64' , 'สุโขทัย' , 'Sukhothai' , 2, '2018-09-19 12:11:03' ), (52, '65' , 'พิษณุโลก' , 'Phitsanulok' , 2, '2018-09-19 12:11:03' ), (53, '66' , 'พิจิตร' , 'Phichit' , 2, '2018-09-19 12:11:03' ), (54, '67' , 'เพชรบูรณ์' , 'Phetchabun' , 2, '2018-09-19 12:11:03' ), (55, '70' , 'ราชบุรี' , 'Ratchaburi' , 4, '2018-09-19 12:11:03' ), (56, '71' , 'กาญจนบุรี' , 'Kanchanaburi' , 4, '2018-09-19 12:11:03' ), (57, '72' , 'สุพรรณบุรี' , 'Suphan Buri' , 2, '2018-09-19 12:11:03' ), (58, '73' , 'นครปฐม' , 'Nakhon Pathom' , 2, '2018-09-19 12:11:03' ), (59, '74' , 'สมุทรสาคร' , 'Samut Sakhon' , 2, '2018-09-19 12:11:03' ), (60, '75' , 'สมุทรสงคราม' , 'Samut Songkhram' , 2, '2018-09-19 12:11:03' ), (61, '76' , 'เพชรบุรี' , 'Phetchaburi' , 4, '2018-09-19 12:11:03' ), (62, '77' , 'ประจวบคีรีขันธ์' , 'Prachuap Khiri Khan' , 4, '2018-09-19 12:11:03' ), (63, '80' , 'นครศรีธรรมราช' , 'Nakhon Si Thammarat' , 6, '2018-09-19 12:11:03' ), (64, '81' , 'กระบี่' , 'Krabi' , 6, '2018-09-19 12:11:03' ), (65, '82' , 'พังงา' , 'Phangnga' , 6, '2018-09-19 12:11:03' ), (66, '83' , 'ภูเก็ต' , 'Phuket' , 6, '2018-09-19 12:11:03' ), (67, '84' , 'สุราษฎร์ธานี' , 'Surat Thani' , 6, '2018-09-19 12:11:03' ), (68, '85' , 'ระนอง' , 'Ranong' , 6, '2018-09-19 12:11:03' ), (69, '86' , 'ชุมพร' , 'Chumphon' , 6, '2018-09-19 12:11:03' ), (70, '90' , 'สงขลา' , 'Songkhla' , 6, '2018-09-19 12:11:03' ), (71, '91' , 'สตูล' , 'Satun' , 6, '2018-09-19 12:11:03' ), (72, '92' , 'ตรัง' , 'Trang' , 6, '2018-09-19 12:11:03' ), (73, '93' , 'พัทลุง' , 'Phatthalung' , 6, '2018-09-19 12:11:03' ), (74, '94' , 'ปัตตานี' , 'Pattani' , 6, '2018-09-19 12:11:03' ), (75, '95' , 'ยะลา' , 'Yala' , 6, '2018-09-19 12:11:03' ), (76, '96' , 'นราธิวาส' , 'Narathiwat' , 6, '2018-09-19 12:11:03' ), (77, '97' , 'บึงกาฬ' , 'buogkan' , 3, '2018-09-19 12:11:03' ); -- -- Indexes for dumped tables -- -- -- Indexes for table `tbl_provinces` -- ALTER TABLE `tbl_provinces` ADD PRIMARY KEY (`province_id`); -- -- AUTO_INCREMENT for dumped tables -- -- -- AUTO_INCREMENT for table `tbl_provinces` -- ALTER TABLE `tbl_provinces` MODIFY `province_id` int (5) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=78; |

ขอบคุณทุกการสนับสนุน
![]()