สวัสดีครับ ในบทความนี้จะแจกตัวอย่าง PHP PDO ระบบเพิ่มข้อมูลมหาวิทยาลัยในประเทศไทยลงใน database ไว้เป็นฐานข้อมูลตัวอย่าง นำไปพัฒนาต่อยอด และแนวทางในการพัฒนาระบบสารสนเทศใช้ในองค์กร ฝึกไว้ครับ เผื่อได้ใช้ รองรับ php7 – php8
ขอแนะนำระบบพร้อมใช้ ราคาถูก ได้ Code + Database ทั้งหมด
1.เว็บอีคอมเมิร์ช คลิก
2.เว็บ FOOD POS ขายอาหารหน้าร้าน คลิก
3.เว็บ Coffee POS ขายกาแฟหน้าร้าน คลิก
4.เว็บบริษัท / เว็บองค์กร คลิก
5.ระบบหอพัก โปรแกรมหอพัก คลิก
6.ระบบยืมคืน เบิกจ่ายพัสดุ ครุภัณฑ์ คลิก
7.ระบบแจ้งซ่อมสำหรับองค์กร คลิก
8.ระบบฐานข้อมูลวิจัย คลังข้อมูลวิจัย ฐานข้อมูลวิทยานิพนธ์ Research Corpus คลิก
9.ระบบสอบออนไลน์ คลิก
10.ระบบอื่นๆ เพิ่มเติม คลิก
*ขอแนะนำระบบจัดการหอพักออนไลน์ รายละเอียดเพิ่มเติมใต้คลิป
รวมคลิปสอนปรับพื้นฐาน ภาษา php ฟรี 100 คลิป ++ https://devbanban.com/?p=3940
โค้ดประกอบด้วย
- PHP PDO
- MySQL SQL Query, INSERT
- HTML
- Bootstrap5 Class : col, form, btn, table
- Sweet Alert
มาเริ่มทำ workshop กันครับ *คอมเม้นอยู่ในโค้ด
0.รวม Workshop PHP PDO ก่อนหน้าคลิก
1.ตารางข้อมูลตัวอย่างจะชื่อ tbl_university ให้สร้างฐานข้อมูลก่อนครับ เช่น ฐานข้อมูลชื่อ workshop_pdo จากนั้นไปที่เมนู sql คัดลอกโค้ดไปวางและ go
1 2 3 4 5 6 7 8 9 10 |
CREATE TABLE `tbl_university` ( `no` int(11) NOT NULL, `u_name` varchar(255) NOT NULL, `u_location` varchar(200) NOT NULL, `u_website` varchar(100) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE `tbl_university` ADD PRIMARY KEY (`no`); ALTER TABLE `tbl_university` MODIFY `no` int(11) NOT NULL AUTO_INCREMENT; |
2.สร้างโฟลเดอร์สำหรับทดสอบ เช่น ชื่อโฟลเดอร์ workshop_pdo *สำหรับคนที่เพิ่งฝึกยังไม่เข้าใจข้อนี้ว่าต้องสร้างไว้ที่ไหน ให้ดูคลิปชุดนี้ก่อน รวมคลิปสอนปรับพื้นฐาน ภาษา php ฟรี 100 คลิป ++ https://devbanban.com/?p=3940
3.ไฟล์เชื่อมต่อฐานข้อมูล ชื่อไฟล์ connect.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php $servername = "localhost"; $username = "root"; $password = "password"; try { $conn = new PDO("mysql:host=$servername;dbname=workshop_pdo;charset=utf8", $username, $password); // set the PDO error mode to exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //echo "Connected successfully"; } catch(PDOException $e) { echo "Connection failed: " . $e->getMessage(); } //Set ว/ด/ป เวลา ให้เป็นของประเทศไทย date_default_timezone_set('Asia/Bangkok'); ?> |
4.ไฟล์ workshop ตั้งชื่อ formAddUniversity.php (สามารถเปลี่ยนชื่อไฟล์ได้ตามความต้องการ)
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 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-F3w7mX95PdgyTmZZMECAngseQB83DfGTowi0iMjiWaeVhAn4FJkqJByhZMI3AhiU" crossorigin="anonymous"> <title>PHP PDO Form add University by devbanban.com 2022</title> <!-- sweet alert --> <script src="https://code.jquery.com/jquery-2.1.3.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert-dev.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.css"> </head> <body> <div class="container"> <div class="row"> <div class="col-md-12"> <br> <h4>ระบบเพิ่มข้อมูลมหาวิทยาลัยในประเทศไทย <hr></h4> <?php //ถ้ามีการส่งพารามิเตอร์ method get และ method get ชือ act = add จะแสดงฟอร์มเพิ่มข้อมูล if(isset($_GET['act']) && $_GET['act']=='add'){ ?> <h3>PHP PDO ฟอร์มเพิ่มข้อมูลมหาวิทยาลัยในประเทศไทย </h3> <form method="post"> <div class="row mb-3"> <div class="col"> ชื่อมหาวิทยาลัย <input type="text" name="u_name" class="form-control" placeholder="ชื่อมหาวิทยาลัย" required minlength="5"> </div> </div> <div class="row mb-3"> <div class="col"> ที่ตั้ง <textarea name="u_location" class="form-control" placeholder="ที่ตั้งมหาวิทยาลัย" required></textarea> </div> </div> <div class="row mb-3"> <div class="col"> เว็บไซต์ <input type="url" name="u_website" class="form-control" placeholder="เว็บไซต์" required minlength="5"> </div> </div> <div class="d-grid gap-2 col-12 mx-auto"> <button class="btn btn-primary" type="submit">บันทึก</button> </div> </form> <?php } ?> <br> <h5>ข้อมูลมหาวิทยาลัย <a href="formAddUniversity.php?act=add" class="btn btn-success btn-sm">+เพิ่มข้อมูล</a> </h5> <div class="table-responsive"> <table class="table table-striped table-hover table-responsive table-bordered"> <thead> <tr class="table-danger"> <th width="5%">ลำดับ</th> <th width="35%">มหาวิทยาลัย</th> <th width="30%">ที่ตั้ง</th> <th width="30%">เว็บไซต์</th> </tr> </thead> <tbody> <?php //เรียกไฟล์เชื่อมต่อฐานข้อมูล require_once 'connect.php'; //คิวรี่ข้อมูลมาแสดงในตาราง $stmt = $conn->prepare("SELECT* FROM tbl_university ORDER BY no DESC"); $stmt->execute(); $result = $stmt->fetchAll(); foreach($result as $row) { ?> <tr> <td><?= $row['no'];?></td> <td><?= $row['u_name'];?></td> <td><?= $row['u_location'];?></td> <td><?= $row['u_website'];?></td> <?php } ?> </tr> </tbody> </table> </div> <br> <center>Basic PHP PDO Form add University by devbanban.com 2022</center> </div> </div> </div> </body> </html> <?php // echo '<pre>'; // print_r($_POST); // echo '</pre>'; // exit(); //ตรวจสอบตัวแปรที่ส่งมาจากฟอร์ม if (isset($_POST['u_name']) && isset($_POST['u_location']) && isset($_POST['u_website'])) { //ไฟล์เชื่อมต่อฐานข้อมูล require_once 'connect.php'; //sql insert $stmt = $conn->prepare("INSERT INTO tbl_university ( u_name, u_location, u_website ) VALUES ( :u_name, :u_location, :u_website ) "); //bindParam data type $stmt->bindParam(':u_name', $_POST['u_name'], PDO::PARAM_STR); $stmt->bindParam(':u_location', $_POST['u_location'], PDO::PARAM_STR); $stmt->bindParam(':u_website', $_POST['u_website'], PDO::PARAM_STR); $result = $stmt->execute(); $conn = null; //close connect db //เงื่อนไขตรวจสอบการเพิ่มข้อมูล if($result){ echo '<script> setTimeout(function() { swal({ title: "เพิ่มข้อมูลสำเร็จ", type: "success" }, function() { window.location = "formAddUniversity.php"; //หน้าที่ต้องการให้กระโดดไป }); }, 1000); </script>'; }else{ echo '<script> setTimeout(function() { swal({ title: "เกิดข้อผิดพลาด", type: "error" }, function() { window.location = "formAddUniversity.php"; //หน้าที่ต้องการให้กระโดดไป }); }, 1000); </script>'; } //else ของ if result } //isset //ตัวอย่าง workshop ป้องกันบันทึกข้อมูลซ้ำ https://devbanban.com/?p=4221 //ขอแนะนำระบบพร้อมใช้ ราคาเบาๆ ซื้อแล้วได้ code ทั้งหมด เอาไปต่อยอดได้ //ระบบแจ้งซ่อม https://www.youtube.com/watch?v=bkYBKfFauB8 //ระบบจัดการหอพัก https://www.youtube.com/watch?v=O7Bh0BNCDz8 //ระบบสอบออนไลน์ https://www.youtube.com/watch?v=WOTLFEflkMk&t=125s ?> |
5.ผลการทำงาน
6.การนำไปต่อยอด ป้องกันบันทึกข้อมูลซ้ำ https://devbanban.com/?p=4221 *ในเคสนี้จะป้องกันการเพิ่มชื่อมหาวิทยาลัยซ้ำ
ลองเอาไปประยุกต์ใช้ดูครับ และฝากติดตาม workshop ต่อๆ ไปด้วยครับผม
Bootstrap5 : https://getbootstrap.com/
ฝึก SQL : https://www.w3schools.com/sql/default.asp
แหล่งศึกษา PDO เพิ่มเติม : https://websitebeaver.com/php-pdo-vs-mysqli
List of PDOStatement::bindParam data_type parameters : https://www.php.net/manual/en/pdo.constants.php
ร่วมสนับสนุน ค่ากาแฟ ค่าโฮส devbanban.com ได้ที่
ธนาคารกรุงไทย สาขาเดอะมอลล์ท่าพระ
ชื่อบัญชี นายพิศิษฐ์ บวรเลิศสุธี เลขที่ 878-0-17747-6
————————————————————————————
ธนาคารไทยพาณิชย์ สาขามหาวิทยาลัยราชภัฏธนบุรี
ชื่อบัญชี นายพิศิษฐ์ บวรเลิศสุธี เลขที่ 406-359094-1
fanpage : https://www.facebook.com/sornwebsites/