Step 1: tạo link/button để người dùng chọn dòng cần Sửa

  • Tạo link/button gởi request GET đển chức năng Sửa vidu_update_form.php?httt_ma=xxx
    • Request GET với tham số truyền đi là httt_ma
  • Hiệu chỉnh file vidu_select.php
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Cập nhật dữ liệu MySQL với PHP</title>
</head>
<body>
    <?php
    // Truy vấn database để lấy danh sách
    // 1. Include file cấu hình kết nối đến database, khởi tạo kết nối $conn
    // C:\xampp\htdocs\web02\
    include_once(__DIR__ . '/dbconnect.php');

    // 2. Chuẩn bị QUERY
    // HERE DOC
    $sql = <<<EOT
    SELECT httt_ma AS MaThanhToan, httt_ten AS TenThanhToan FROM `hinhthucthanhtoan`
EOT;

    // 3. Yêu cầu PHP thực thi QUERY
    $result = mysqli_query($conn, $sql);

    // 4. Khi thực thi các truy vấn dạng SELECT, dữ liệu lấy về cần phải phân tích để sử dụng
    // Thông thường, chúng ta sẽ sử dụng vòng lặp while để duyệt danh sách các dòng dữ liệu được SELECT
    // Ta sẽ tạo 1 mảng array để chứa các dữ liệu được trả về
    $data = [];
    while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
        $data[] = array(
            'ma' => $row['MaThanhToan'],
            'ten' => $row['TenThanhToan'],
        );
    }

    // var_dump($data);die;
    // print_r($data);die;
    ?>

    <table border="1" width="100%">
        <thead>
            <tr>
                <th>Mã Hình thức Thanh toán</th>
                <th>Tên Hình thức Thanh toán</th>
                <th>Chức năng</th>
            </tr>
        </thead>
        <tbody>
            <?php foreach($data as $httt): ?>
            <tr>
                <td><?= $httt['ma']; ?></td>
                <td><?= $httt['ten']; ?></td>
                <td>
                    <!-- Nút Xóa -->
                    <a href="vidu_delete_from_list.php?httt_ma=<?php echo $httt['ma']; ?>">Xóa</a>

                    <!-- Nút Sửa -->
                    <a href="vidu_update_form.php?httt_ma=<?php echo $httt['ma']; ?>">Sửa</a>
                </td>
            </tr>
            <?php endforeach; ?>
        </tbody>
    </table>
</body>
</html>

Step 2: tạo file chức năng Sửa vidu_update_form.php

Bước 2.1: thực thi câu lệnh lấy dữ liệu cũ (dòng dữ liệu người dùng muốn hiệu chỉnh) và lắp đầy vào FORM

  1. Đầu tiên thực thi câu lệnh SELECT * FROM hinhthucthanhtoan WHERE httt_ma = ? để lấy dòng dữ liệu người dùng muốn sửa
    1. Tạo kết nối đến database mong muốn (nhúng file dbconnect.php vào file đang viết code)
    2. Chuẩn bị câu lệnh (QUERY) mong muốn:
      • Thường sử dụng tên biến $sqlSelect
      • Lấy giá trị của người dùng gởi đến bằng $_GET['httt_ma']
    3. Yêu cầu PHP thực  thi câu lệnh trên bằng hàm $result = mysqli_query($conn, $sql)
    4. Bóc tách dữ liệu đưa vào mảng array $htttRow để xử lý
  2. Hiển thị Form với dữ liệu cũ đã được lắp đầy sẵn

Bước 2.2: nếu người dùng đã hiệu chỉnh và bấm Save thì thực thi câu lệnh UPDATE

Các bước thực hiện câu lệnh MySQL trong PHP như sau:
  1. Tạo kết nối đến database mong muốn (nhúng file dbconnect.php vào file đang viết code)
  2. Chuẩn bị câu lệnh (QUERY) mong muốn:
    • Thường sử dụng tên biến $sqlUpdate
    • Lấy giá trị của người dùng gởi đến bằng $_POST['key']
  3. Yêu cầu PHP thực  thi câu lệnh trên bằng hàm mysqli_query($conn, $sql)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Ví dụ UPDATE dữ liệu với FORM</title>
</head>
<body>
    <h1>Cập nhập Hình thức Thanh toán</h1>
    <?php
    // Truy vấn database để lấy danh sách
    // 1. Include file cấu hình kết nối đến database, khởi tạo kết nối $conn
    // C:\xampp\htdocs\web02\
    include_once(__DIR__ . '/dbconnect.php');

    // 2. Chuẩn bị QUERY
    $httt_ma = $_GET['httt_ma'];

    // HERE DOC
    $sqlSelect = <<<EOT
    SELECT httt_ma, httt_ten FROM `hinhthucthanhtoan` WHERE httt_ma = $httt_ma;
EOT;

    // 3. Yêu cầu PHP thực thi QUERY
    $resultSelect = mysqli_query($conn, $sqlSelect);

    // 4. Khi thực thi các truy vấn dạng SELECT, dữ liệu lấy về cần phải phân tích để sử dụng
    // Thông thường, chúng ta sẽ sử dụng vòng lặp while để duyệt danh sách các dòng dữ liệu được SELECT
    // Ta sẽ tạo 1 mảng array để chứa các dữ liệu được trả về
    $htttRow = [];
    while ($row = mysqli_fetch_array($resultSelect, MYSQLI_ASSOC)) {
        $htttRow = array(
            'httt_ma' => $row['httt_ma'],
            'httt_ten' => $row['httt_ten'],
        );
    }

    ?>
    <form name="frmHTTT" id="frmHTTT" method="post" action="">
        Tên hình thức thanh toán: <input type="text" name="httt_ten" id="httt_ten" value="<?php echo $htttRow['httt_ten'] ?>" />
        <br />

        <input type="submit" name="btnSave" id="btnSave" value="Lưu dữ liệu" />
    </form>

    <?php
    if(isset($_POST['btnSave'])) {
        // 2. Chuẩn bị QUERY
        // HERE DOC
        $httt_ten = $_POST['httt_ten'];

        $sql = <<<EOT
        UPDATE `hinhthucthanhtoan`
        SET
            httt_ten='$httt_ten'
        WHERE httt_ma=$httt_ma
EOT;

        // 3. Yêu cầu PHP thực thi QUERY
        mysqli_query($conn, $sql) or die("<b>Có lỗi khi thực thi câu lệnh SQL: </b>" . mysqli_error($conn) . "<br /><b>Câu lệnh vừa thực thi:</b></br>$sql");

        // Redirect (điều hướng) về trang bạn mong muốn
        header('location:vidu_select.php');
    }
    ?>
</body>
</html>