จากบทเรียนสอน
https://www.mindphp.com/%E0%B8%9A%E0%B8 ... nsert.html
ในบทความนี้ จะนำมาสรุป เราจะแสดงขั้นตอนของการสร้าง PHP CRUD เพื่อแสดงให้เห็นว่า PHP เป็นภาษาฝั่งเซิร์ฟเวอร์สื่อสารกับBackend MySQL อย่างไรและแสดงผลใน HTML
หวังว่าจะได้เรียนรู้อะไรบางอย่างจากบทความนี้นี้
1.สร้างตัวอย่างตารางฐานข้อมูล
เราจะสร้างตารางที่มีชื่อว่า customers ในฐานข้อมูล
โค้ด: เลือกทั้งหมด
CREATE TABLE `customers` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`name` VARCHAR( 100 ) NOT NULL ,
`email` VARCHAR( 100 ) NOT NULL ,
`phone` VARCHAR( 100 ) NOT NULL
) ENGINE = INNODB;
2. การเชื่อมต่อฐานข้อมูล
สร้างไฟล์ PHP ตั้งชื่อว่า"connection.php"; และสร้างการเชื่อมต่อฐานข้อมูลโดยใช้ตัวอย่างโค้ด ดังนี้
โค้ด: เลือกทั้งหมด
<?php
$host = "localhost";
$username = "root";
$password = " ";
$dbname = "myDB";
//สร้างการเชื่อมต่อ
$conn = new mysqli($host, $username, $password,$dbname);
//ตรวจสอบการเชื่อมต่อ
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>
เราจะต้องระบุค่าที่ถูกต้องของตัวแปรเหล่านี้ $host, $username, $password, $dbname เพื่อให้สามารถเข้าถึงฐานข้อมูลได้
$host = : host ของฐานข้อมูลซึ่งโดยปกติแล้วจะเป็น "localhost"
$username : ชื่อผู้ใช้ฐานข้อมูล
$password : รหัสผ่านฐานข้อมูล
$dbname = : ชื่อฐานข้อมูลที่ใช้เก็บตาราง 'customers' และตารางอื่นๆ
3. Select ข้อมูล และแสดงเป็นตาราง
สร้างไฟล์ และตั้งชื่อว่า index.php หรือ ชื่ออะไรก็ได้ที่ต้องการ
และสร้างตารางโดยใช้ตัวอย่างโค้ด ดังนี้
โค้ด: เลือกทั้งหมด
<table>
<thead>
<tr>
<th>Name</th>
<th>Email Address</th>
<th>Mobile Number</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php
include('connection.php');
$sql = "SELECT * FROM customers";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
//แสดงข้อมูลเป็นตาราง
while($row = $result->fetch_assoc()) {
echo '<tr>';
echo '<td>'. $row['name'] . '</td>';
echo '<td>'. $row['email'] . '</td>';
echo '<td>'. $row['phone'] . '</td>';
echo '</tr>';
}
} else {
echo " ";
}
$conn->close();
?>
</tbody>
</table>
4. การ insert ข้อมูล
ในการ insert ข้อมูล เราอาจจะต้องสร้างฟอร์ม(form)ขึ้นมา เพื่อให้ผู้ใช้เพิ่มข้อมูล
ก่อนอื่นเพิ่มปุ่ม เพื่อลิงค์ไปหน้าฟอร์ม
โค้ด: เลือกทั้งหมด
<a href="ins_form.html" role="button">Create</a>
โค้ด: เลือกทั้งหมด
<form action="create.php" method="post">
<label for="name">Name</label>
<input id="name" type="text" name="name">
<label for="email">Email Address</label>
<input id="email" type="text" name="email">
<label for="phone">Mobile Number</label>
<input id="phone" type="text" name="phone">
<button type="submit">Create</button>
<a class="btn" href="index.php">Back</a>
</form>
โค้ด: เลือกทั้งหมด
<?php
$name =$_POST["name"];
$email= $_POST["email"];
$phone= $_POST["phone"];
include('connection.php');
//สร้างคำสั่ง sql
$sql = "INSERT INTO customers (name,phone,phone) VALUES ('$name','$phone','$phone')";
if ($conn->query($sql)) {
echo "New record created successfully";
header('location:index.php'); //กลับไปยังหน้าตาราง
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
ในส่วน update และ delete สามารถดูในบทความตามลิงค์ด้านล่างนี้
บทความ การสร้าง CRUD ในภาษา PHP เบื้องต้น part2