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

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

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

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

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

โพสต์โดย abdkode » 09/01/2019 6:57 pm

การสร้าง CRUD ในภาษา PHP เบื้องต้น part1
https://www.mindphp.com/forums/viewtopic.php?f=72&t=52729

4. การ update ข้อมูล
ในการ update ข้อมูลเราจะสร้างปุ่มเพิ่มเติมในส่วนของ table ชื่อปุ่มว่า update เพื่อให้ผู้ใช้คลิกข้อมูลที่ต้องการแก้ไข

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

<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 '<td><a role="button"  href="update.php?id='.$row['id'].'">Update</a><td>';  //ปุ่มที่เพิ่มเข้ามา
                echo '</tr>';
             }
        } else {
            echo "0 results";
        }
        $conn->close();
        ?>
       </tbody>
</table>   

php-crud-03.png
รูปตาราง
php-crud-03.png (25.84 KiB) เปิดดู 41 ครั้ง

หลังจากนั้น สร้างฟอร์ม(form)เพื่อการแก้ไข ซึ่งหน้าตาของฟอร์มจะคล้ายกับ ins_form.html ที่ไว้สำหรับเพิ่มข้อมูล
การสร้างฟอร์มนี้ เราตั้งชื่อว่า update.php มีโค้ดตัวอย่างดังนี้

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

<form  action="upd_cus.php" method="post">
<?php
$id =$_POST["id"];  //เพื่อรับค่า id ที่ส่งมา
include('connection.php');
//สร้างคำสั่ง sql
$sql = "SELECT * FROM customers WHERE id= $id";
$result = $conn->query($sql);
if($result->num_rows > 0){
   $row = $result->fetch_assoc();
   echo ' <label for="name">Name</label>
              <input id="name" type="text" name="name" value=" '. $row['name'].' ">
           <label for="email">Email Address</label>
           <input id="email" type="text" name="email" value=" '. $row['name'].' " >
           <label for="phone">Mobile Number</label>
           <input id="phone" type="text" name="phone" value=" '. $row['name'].' ">
           <input type="hidden"   value=" '. $row['id'].' ">
           <button type="submit" class="btn btn-success">Update</button>
           <a class="btn" href="index.php">Back</a>
}else{
   echo" no data something wrong!!"  //กรณีไม่พบข้อมูลในฐานข้อมูล   
?>   
</form>

php-crud-update.png
php-crud-update.png (22.98 KiB) เปิดดู 41 ครั้ง


ต่อไปสร้างไฟล์ upd_cus.php เพื่อนำข้อมูลที่ได้รับการแก้ไขแล้ว ไปอัพเดตลงฐานข้อมูล
โด้ดตัวอย่าง

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

<?php
$id =$_POST["id"]; 
$name =$_POST["name]; 
$email =$_POST["email"]; 
$phone =$_POST["phone"];
include('connection.php');
$sql = "UPDATE customers  SET name='$name', email='$email', phone='$phone' WHERE id=$id";
if ($conn->query($sql)) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . $conn->error;
}
$conn->close();
?>


5 การลบข้อมูล
ในการลบข้อมูล เราจะสร้างปุ่มเพิ่มเติมในส่วนของ table ถัดจากปุ่มupdate โดยตั้งชื่อว่า Delete เพื่อให้ผู้ใช้คลิกข้อมูลที่ต้องการลบ

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

<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 '<td><a role="button"  href="update.php?id='.$row['id'].'">Update</a>
                         <a role="button"  href="delete.php?id='.$row['id'].'">Delete</a><td>';  //ปุ่มที่เพิ่มเข้ามา
                echo '</tr>';
             }
        } else {
            echo "0 results";
        }
        $conn->close();
        ?>
       </tbody>
</table>   

php-crud-delete.png
php-crud-delete.png (28.35 KiB) เปิดดู 41 ครั้ง


ซึ่งเมื่อผู้ใช้คลิก ปุม delete จะส่ง id ของข้อมูลที่ต้องการลบไปยังไฟล์ delete.php
ต่อไปสร้างไฟล์ delete.php เพื่อรับและลบข้อมูลที่ต้องการออกจากฐานข้อมูล
โด้ดตัวอย่าง

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

$id =$_POST["id"];
include('connection.php');
$sql = "DELETE FROM customers WHERE id=$id";
if ($conn->query($sql) === TRUE) {
    echo "Record deleted successfully";
} else {
    echo "Error deleting record: " . $conn->error;
}

$conn->close();
?>

เมื่อผู้ใช้คลิกปุ่ม delete มันจะทำการลบข้อมูลนั้นออกจากฐานข้อมูล ซึ่งตรงนี้ควรทำการแจ้งเตือน หรือ pop up ให้ผู้ใช้ยืนยันอีกครั้งว่า ต้องการลบข้อมูลจริงไหม
เพื่อป้องกันการไม่ได้ตั้งใจของการกดปุ่มลบข้อมูล

เนื้อหาทั้งหมดนี้เป็นเพียงข้อมูลการสอนฉบับอย่างง่าย ในการนำไปใช้กับโปรเจ็คนั้นควรปรับแต่งเพิ่มเติมให้เข้าโปรเจ็คของเรา ในภาษาphp มีรูปแบบ CRUD หลายรูปแบบ แต่ละรูปแบบมีความแตกต่างกันไป ขึ้นอยู่กับความเร็วในการทำงานหรือการติดต่อกับฐานข้อมูล ความซับซ้อนของข้อมูล

ช่องทางการศึกษาเพิ่มเติม
การสร้าง CRUD ในภาษา PHP เบื้องต้น part1
บทเรียน MySQL Store Procedure
SQL เบื้องต้น (Insert Select Update Delete Join) เพิ่ม ลบ แก้ไข ข้อมูล

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

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

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

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