ปักหมุด รวมคำตอบที่อาจจะมีประโยชน์
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ปักหมุด รวมคำตอบที่อาจจะมีประโยชน์
ปักหมุด รวมคำตอบที่อาจจะมีประโยชน์
Copy
กระทู้นี้จะขอรวบรวม คำตอบต่างๆ ที่เคยได้แนะนำหรือตอบข้อสอบถาม ในเว็บบอร์ดที่ผ่านๆ มาไปแล้ว
โดยจะเอามาโพสซ้ำไว้ในความคิดเห็นต่างๆ เพื่อใช้เป็นตัวอ้างอิง สำหรับเป็นแนวทาง แนะนำโค้ดต่อไป
โดยจะเอามาโพสซ้ำไว้ในความคิดเห็นต่างๆ เพื่อใช้เป็นตัวอ้างอิง สำหรับเป็นแนวทาง แนะนำโค้ดต่อไป
Ninenik
26-03-2017
03:49:22
ข่าวประกาศ หรือกระทู้ถามนี้ ปิดการถาม-ตอบ ไม่สามารถตอบกลับได้
ความคิดเห็นที่
1
Copy
จากกระทู้ 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
<?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 แล้วหรือไม่
<?php session_start(); require_once("dbconnect.php"); ?>
- เข้าเงื่อนไข การรับค่าหรือไม่ เช่น ส่งค่ามา มีการการเช็คค่า และเข้าเงื่อนไขหรือไม่
<?php if(isset($_POST['btn_submit']) && $_POST['btn_submit']!=""){ echo "check submit"; } ?>
- ดูว่าชนิดของตัวแปรที่ส่งมา กับเงื่อนไขเป็นตัวแปรประเภทเดียวกันหรือไม่
เช่น ส่งแบบ GET ต้องเช็คที่ตัวแปร $_GET['xxxx'] หรือ ส่งแบบ POST ต้องเช็คด้วยตัวแปร $_POST
<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"; } ?>
หรือ
<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"; } ?>
- เช็คว่าค่าที่ส่งมา ส่งมาครบหรือไม่ รูปแบบตัวแปรหรือชนิดของตัวแปรถูกต้องหรือไม่
<?php if(isset($_POST['btn_submit']) && $_POST['btn_submit']!=""){ echo "<pre>"; print_r($_POST); // ตัวแปร POST ส่งอะไรมาบ้าง ส่งมาครับไหม print_r($_GET); // ตัวแปร _GET ส่งอะไรมาบ้าง ส่งมาครับไหม echo "</pre>"; } ?>
- หลัง submit ข้อมูลตรวจสอบคำสั่ง sql ว่าเป็นค่าที่ถูกต้องหรือไม่
<?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 สามารถเพิ่มคำสั่งป้องกันเพิ่มเติมได้
<?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 นั้นทำการคิวรี่ สำเร็จหรือไม่
<?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/
ninenik
26-03-2017
ความคิดเห็นที่
2
Copy
แนวทางการตรวจสอบการเชื่อมต่อกับฐานข้อมูลบน server ด้วย mysqli
ตัวอย่างไฟล์เชื่อมต่อฐานข้อมูล
ไฟล์ dbconnect.php
<?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 แล้วหรือไม่
<?php // โค้ดไฟล์ dbconnect.php ดูได้ที่ http://niik.in/que_2398_5642 require_once("dbconnect.php"); ?>หรือกรณีมีการใช้งาน session ด้วย
<?php session_start(); // โค้ดไฟล์ dbconnect.php ดูได้ที่ http://niik.in/que_2398_5642 require_once("dbconnect.php"); ?>
หากเราไม่สามารถเชื่อมต่อฐานข้อมูลได้ เงื่อนไขจะเข้า if ($mysqli->connect_errno) {
ให้ตรวจสอบว่า ใส่ชื่อ user , รหัสผ่าน หรือชื่อ database ถูกต้องแล้วหรือไม่
- ตรวจสอบการคิวรี่ข้อมูลว่าทำสำเร็จหรือไม่ และตรวจสอบว่ามีข้อมูลหรือไม่
<?php $sql = " SELECT * FROM tbl_a "; $result = $mysqli->query($sql); if($result && $result->num_rows>0){ // คิวรี่ข้อมูลสำเร็จหรือไม่ และมีรายการข้อมูลหรือไม่ } ?>
- ตรวจสอบว่าคิววรี่สำเร็จและถ้ามีข้อมูล ให้แสดงรายการข้อมูลนั้น กรณีมีรายการเดียว
<?php $sql = " SELECT * FROM tbl_a "; $result = $mysqli->query($sql); if($result && $result->num_rows>0){ // คิวรี่ข้อมูลสำเร็จหรือไม่ และมีรายการข้อมูลหรือไม่ $row = $result->fetch_assoc(); echo $row['mydata']; } ?>
- ตรวจสอบว่าคิววรี่สำเร็จและถ้ามีข้อมูล ให้แสดงรายการข้อมูลนั้น กรณีมีหลายรายการ
<?php $sql = " SELECT * FROM tbl_a "; $result = $mysqli->query($sql); if($result && $result->num_rows>0){ // คิวรี่ข้อมูลสำเร็จหรือไม่ และมีรายการข้อมูลหรือไม่ while($row = $result->fetch_assoc()){ // วนลูปแสดงรายการ echo $row['mydata']; } } ?>
- ตรวจสอบว่าคิววรี่สำเร็จและถ้ามีข้อมูลให้อัพเดท หรือถ้าไม่มีข้อมูล ให้เพิ่มรายการใหม่
<?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 ข้อมูลมีการคิวรี่หรือไม่ และมีการเปลี่ยนแปลงค่าเกิดขึ้นหรือไม่
<?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 ข้อมูลใหม่ มีการคิวรี่เกิดขึ้นหรือไม่ แล้วเกิดการเพิ่มรายการขึ้นหรือไม่
<?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 ของรายการที่เพิ่มมาใหม่ มีค่าคืออะไร
<?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 ใช้
$result->num_rows>0
กรณ๊คำสั่ง INSERT UPDATE DELETE ใช้
$mysqli->affected_rows
- รูปแบบการ SELECT ข้อมูล ใช้คำสั่งในกรณีต้องการข้อมูลหรือชุดข้อมูลในรูปแบบต่างๆ กันสามารถ
กำหนดได้ดังนี้ มีให้เลือก 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 ใช้คำสั่ง แต่โดยปกติแล้ว มีคำสั่งสุดสิ้นสุดลง การปิดการเชื่อมต่อ
จะเกิดขึ้นเองโดยอัตโนมัติ เราอาจจะใช้หรือไม่ก็ได้
$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
ninenik
16-04-2017
ความคิดเห็นที่
3
Copy
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
<!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> <link rel="stylesheet" href="https://unpkg.com/bootstrap@4.5.0/dist/css/bootstrap.min.css" > </head> <body> <script src="https://unpkg.com/jquery@3.3.1/dist/jquery.min.js"></script> <script src="https://unpkg.com/bootstrap@4.5.0/dist/js/bootstrap.min.js"></script> <script type="text/javascript"> $(function(){ }); </script> </body> </html>
>>> อัพเดท >>> 01-05-2018
------------------------------------------
เพิ่มเติม
https://cdnjs.com/libraries/>>> อัพเดท >>> 02-05-2018
------------------------------------------
Meata ป้องกันการ zoom หน้าเพจ
<meta name="viewport" content="width=device-width, user-scalable=no" />
>>> อัพเดท >>> 23-01-2019
------------------------------------------
FONT-AWESOME
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.min.css" >
ninenik
11-04-2018
ความคิดเห็นที่
4
Copy
ตารางฐานข้อมูลจังหวัด สำหรับใช้ในการทดสอบ ในบทความต่างๆ
-- -- 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;
ninenik
19-09-2018
ขอบคุณทุกการสนับสนุน