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
- Đầ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
- Tạo kết nối đến database mong muốn (nhúng file
dbconnect.php vào file đang viết code)
- 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']
- Yêu cầu PHP thực thi câu lệnh trên bằng hàm
$result = mysqli_query($conn, $sql)
- Bóc tách dữ liệu đưa vào mảng array
$htttRow để xử lý
- 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:
- Tạo kết nối đến database mong muốn (nhúng file
dbconnect.php vào file đang viết code)
- 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']
- 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>
|