16 Apr

Rate this post

Ở bài trước mình đã giới thiệu đến các bạn về kỹ thuật kết nối và show dữ liệu từ MySQL ra trình duyệt. Nếu bạn nào chưa xem bài trước thì xem lại phần này nha, tại phần hôm nay mình giới thiệu cũng liên quan tới bài trước. Hôm nay mình tiếp tục giới thiệu đến các bạn kỹ thuật thêm, xóa ,sửa dữ liệu có tác động đến dữ liệu trong MySQL. Để học bài này bạn đã có nền tảng của môn Cơ sở dữ liệu viết bằng ngôn ngữ SQL vì các câu truy vấn của MySQL tương tự với SQL.
Nếu các bạn chưa học môn này cũng không sao bài này mình sẽ giới thiệu sơ lược lại để các bạn chưa học có thể nắm được cơ bản về nó. Còn các bạn đã biết về các câu truy vấn  rồi thì bỏ qua phần  này xem các mục kế tiếp, nếu quên có thể xem lại.

1.Sơ lược thao tác dữ liệu MySQL

Thêm dữ liệu

Trường hợp 1

Cú pháp : INSERT INTO<tên bảng>(<tên cột 1>,<tên cột 2>,…)  VALUES(<biểu thức 1>,<biểu thức 2>,…)

Lưu ý:

  • Đúng kiểu dữ liệu
  • Chiều dài
  • Các ràng buộc toàn vẹn: khóa chính, khóa ngoại, kiểm tra

Ví dụ  INSERT INTO MONHOC(MaMH,TenMH,SoTC) VALUES(‘PHP’,’Lập trình PHP & MySQL’,3);

Qua ví dụ này bạn lưu ý vài chỗ sẽ nhiều bạn mắc phải:

  • Tên cột phải đúng trong bảng dữ liệu bạn tạo trong phpMyadmin
  • Dữ liệu trong values đối với chuỗi, kí tự, ngày tháng năm phải để trong dấu nháy đơn ‘ ‘ ,  các kiểu số thì không để trong dấu nháy đơn (Lưu ý này rất quan trọng khi bạn insert với  dữ liệu dài )

Trường hợp 2

Nếu các biểu thức sau từ khóa VALUES được sắp xếp đúng thứ tử các cột trong bảng thì các danh sách cột sau INTO có thể bỏ qua

Cú pháp: INSERT INTO <tên bảng> VALUES(<biểu thức 1>,<biểu thức 2>,…)

Lưu ý: Các biểu thức nhập vào phải đúng thứ cột giống như trong bảng lưu trong phpMysqladmin,  khác với ở trường hợp 1 là trường hợp 1 có tên cột nên không cần đúng thứ tự trong bảng mà phải nhập đúng thứ tự  cột  được viết sau INTO

Ví dụ :INSERT INTO MONHOC  VALUES(‘PHP’,’Lập trình PHP & MySQL’,3);

Trường hợp 3

Thêm dữ liệu từ các bảng khác bằng cách dùng câu lệnh SELECT

Cú pháp: INSERT  INTO <tên bảng>(<tên cột 1>,<tên cột 2>,…) <câu lệnh select> hoặc

INSERT  INTO <tên bảng><câu lệnh select>

Ví dụ: INSERT INTO MONHOC  SELECT * FROM DSMONHOC;

Lưu ý: DSMONHOC có cùng cấu trúc với MONHOC

Xóa dữ liệu

Là xóa bỏ một mẫu tin khỏi một bảng trong CSDL là một trong những thao tác được sử dụng thường xuyên

Cú pháp : DELETE FROM <tên bảng> [WHERE<điều kiện>];

Giải thích: Các mẫu tin sẽ được xóa đi nếu thõa mãn điều kiện sau WHERE . Nếu không có mệnh đề WHERE thì các mẫu tin sẽ được xóa hết khỏi bảng.

[biểu thức/ nội dung/…] là   không bắt buộc có

<biểu thức/ nội dung/…> là bắt  buộc phải có

Ví dụ DELETE FROM MONHOC WHERE MaMH=”PHP”;

Cập nhật dữ liệu

Cú pháp

UPDATE <tên bảng>

SET

<tên cột 1>=<biểu thức 1>,

<tên cột 2>=<biểu thức 2>,

<tên cột n>=<biểu thức n>

[WHERE <điều kiện>];

Giải thích:

Các giá trị của các cột có tên trong danh sách sau SET thỏa mãn điều kiện sau WHERE sẽ được thay thế tương ứng với các biểu thức. Nếu không có điều kiện WHERE thì tất cả các dữ liệu trong bảng đều bị sửa đổi.

Ví dụ

UPDATE MONHOC

SET TenMH=’Lập trình PHP cơ bản’

WHERE MaMH=’PHP’;

 

2.Thêm dữ liệu

Các bạn tạo folder tên demo và tạo các file

thumuc

Trong đó:

connect.php: đây là file kết nối với mysql

giaodiensua.php: chứa form sửa

giaodienthem.php:chuwasa form thêm

xuly.php: chứa các thao tác dữ liệu

sanpham.php: chứa giao diện show dữ liệu

  • file connect.php

  • file giaodienthem.php

Trong đó:

action: chứa đường dẫn tới file xử lý form

method: có 2 loại phương thức POST và GET bạn có thể xem lại bài POST, GET

Lưu ý Các input, select, textarea phải đặt tên name để gọi  lấy được dữ liệu

Các bạn muốn submit không muốn bị mất dữ liệu thì chỗ value mình gọi lại bằng sử dụng PHP

  • file giaodiensua.php

Tương tự như form thêm

Trong đó:

Câu lệnh  này có mục đích là mỗi khi nhấn vào nút sửa thì nội dung cần sửa sẽ hiện lên form nên có điều kiện where.

Action này chứa đường dẫn file và idSP để khi sửa biết dòng nào cần sửa.

  • file sanpham.php

Trong đó:

include(“connect.php”): sử dụng lại code kết nối

Thứ nhất : Kiểm tra tồn tại tên tacvu hay không

sanpham.php?tacvu=sua&idSP=<?php echo  $row[“idSP”] ?> :  cái đường dẫn hiện url khi nhấn nút sửa có tác vụ là sua là hiện form sửa lên

them2

sanpham.php?tacvu=them: cái đường dẫn này khi ta nhấn nút tiếp tục thêm.

Tóm tắt: Biến tacvu này nhằm mục đích nếu tacvu=them thì hiện form thêm ,tacvu=sua thì hiện form sửa , nếu không có biến tác vụ thì mặc định hiện form thêm.

them1

Thứ hai: Đường link xóa,sửa phải gán thêm biến idSP để biết dòng nào được xóa và được sửa nhờ vào biến idSP

Đường link xóa:

Được gửi trực tiếp tới file xử lý  xuly.php kèm theo biến idSP

Đường link sửa:

Đường link này nhằm mục đích hiển thị form sửa và kèm theo idSP để hiển thị dữ liệu lên form

Xử lý Thêm

header:  dùng để chuyển hướng trang

3.Sửa dữ liệu

 

4.Xóa dữ liệu

Toàn bộ file tại đây

5.Lời kết

Bài này mình đã giới thiệu tới các thao tác tới dữ liệu trong PHP, ví dụ trên chỉ mang tính chất minh họa, các bạn cần hiểu và sử dụng thành thạo các câu lệnh truy vấn để phục vụ các project của mình.