การสร้าง CRUD ในภาษา PHP เบื้องต้น part1

PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

Moderator: mindphp, ผู้ดูแลกระดาน

abdkode
PHP Super Member
PHP Super Member
โพสต์: 362
ลงทะเบียนเมื่อ: 07/01/2019 9:56 am

การสร้าง CRUD ในภาษา PHP เบื้องต้น part1

โพสต์โดย abdkode » 08/01/2019 3:08 pm

การสร้าง CRUD ในภาษา PHP เป็นการกระทำหรือกิจกรรมที่พบบ่อยมากในการพัฒนาเว็บ ซึ่ง CRUD ย่อมาจาก Create / Read / Update / Delete วัตถุประสงค์หลักของการ CRUD คือช่วยให้ผู้ใช้สามารถ สร้าง / อ่าน / อัปเดต / ลบข้อมูล โดยปกติแล้ว ข้อมูลจะถูกเก็บไว้ในฐานข้อมูล MySQL PHP จะเป็นภาษาฝั่งเซิร์ฟเวอร์ที่จัดการกับตารางฐานข้อมูล MySQL เพื่อให้ผู้ใช้สามารถใช้งาน CRUD ได้

ในบทความนี้ เราจะแสดงขั้นตอนของการสร้าง 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;

จะเห็นได้ว่าในตารางนี้จะมีข้อมูล Id, name, email, และ phone โดยกำหนดให้ id เป็น AUTO_INCREMENT และเป็นคีย์หลัก (PRIMARY KEY)

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);
}
?>

จากตัวอย่างโค้ด เราได้ใช้รูปแบบ mysqli สำหรับการเข้าถึงฐานข้อมูล

เราจะต้องระบุค่าที่ถูกต้องของตัวแปรเหล่านี้ $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>   

php-crud-table.png
php-crud-table.png (12.85 KiB) เปิดดู 434 ครั้ง

แน่นอนเมื่อเราทดสอบแล้วจะพบว่าในตารางไม่มีข้อมูลแสดงเลย เพราะเรายังไม่ใส่ข้อมูล ซึ่งการ insert ข้อมูลเราจะทำในขั้นตอนต่อไป

4. การ insert ข้อมูล
ในการ insert ข้อมูล เราอาจจะต้องสร้างฟอร์ม(form)ขึ้นมา เพื่อให้ผู้ใช้เพิ่มข้อมูล
ก่อนอื่นเพิ่มปุ่ม เพื่อลิงค์ไปหน้าฟอร์ม

โค้ด: เลือกทั้งหมด

<a href="ins_form.html" role="button">Create</a>

ในการสร้างฟอร์มจะสร้างไฟล์ ins_form.html และสามารถใช้โค้ดตัวอย่างต่อไปนี้

โค้ด: เลือกทั้งหมด

<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-crud-create.png
php-crud-create.png (18.69 KiB) เปิดดู 434 ครั้ง

หลังจากนั้น สร้างไฟล์ create.php เพื่อรับค่าที่ผู้ใช้ใส่เข้ามาและบันทึกลงฐานข้อมูล

โค้ด: เลือกทั้งหมด

<?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();
?>

เมื่อข้อมูลถูก insert แล้วมันจะกลับมาหน้าตาราง และในตารางก็จะแสดงข้อมูลที่ผู้ใช้ใส่เข้ามา


ในส่วน update และ delete สามารถดูในบทความตามลิงค์ด้านล่างนี้
บทความ การสร้าง CRUD ในภาษา PHP เบื้องต้น part2

  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 4 และ บุคคลทั่วไป 0 ท่าน