LAB PHP (CB) 15
CÁC QUY TRÌNH TƯƠNG TÁC DỮ LIỆU GIỮA PHP VÀ MYSQL
A – LÝ THUYẾT
Trong bài học ngày hôm nay, chúng ta sẽ tìm hiểu các quy trình tương tác dữ liệu giữa PHP và CSDL MySQL. Đó là cách thức Kết nối PHP đến CSDL, thao tác xuất nội dung trong CSDL ra trình duyệt cũng như là các thao tác thêm, xóa, sửa dữ liệu trong CSDL thông qua PHP
I – QUY TRÌNH KẾT NỐI GIỮA PHP VÀ MYSQL
1 – Kết nối tới CSDL
Điều đầu tiên trong quá trình làm việc qua lại giữa ngôn
ngữ PHP và hệ quản trị CSDL MySQL đó là chúng ta phải có một kết nối giữa 2
ngôn ngữ này. Và đoạn code để kết nối một ngôn ngữ lập trình mà cụ thể ở đây là
PHP và với một ngôn ngữ CSDL MySQL được thực hiện như sau:
$connect_db = mysql_connect(“hostname”, “username”, “password”);
Trong đó:
a)
hostname: Địa chỉ của
Server. Giá trị được dùng ở đây là localhost
b) username: Tên người dùng truy cập Database. Giá trị được sử dụng ở đây là
root
c)
password: Mật khẩu
truy cập Database. Nếu các bạn để mặc định là không đặt mật khẩu thì giá trị sử
dụng ở đây là rỗng “”
Ví dụ:
2 – Lựa chọn CSDL
Sau khi quá trình kết nối thành công, vậy là PHP đã có
thể làm việc được với MySQL. Việc tiếp theo đó là PHP cần làm việc với CSDL nào
trong hàng loạt CSDL có trong MySQL. Chính vì lẽ đó mà chúng ta cần phải có một
đoạn code để lựa chọn một CSDL cụ thể mà chúng ta muốn làm việc
$select_db = mysql_select_db(“ten_csdl”, $connect_db);
Trong đó:
a)
ten_csdl: Là tên của
CSDL muốn kết nối đến
b) $connect_db: Chính là biến kết nối vừa được khởi tạo ở trên
Ví dụ:
3 – Xét ngôn ngữ cho CSDL
Để có thể hiển thị được tiếng Việt khi xuất dữ liệu từ
trong CSDL ra trình duyệt thông qua PHP thì chúng ta cần phải có đoạn code nhỏ
sau đây
$set_lang = mysql_query(“SET NAME ‘utf8’”)
Ví dụ:
II – QUY TRÌNH THỰC THI TRUY VẤN SQL
1 – Tiến hành truy vấn SQL
Ở bước này chúng ta tiến hành viết câu truy vấn SQL
tương tự như chúng ta sử dụng câu truy vấn SQL trong môi trường CSDL MySQl
$sql = “SELECT * FROM thanhvien”;
Ví dụ:
2 – Thực thi truy vấn
Sau đó chúng ta tiến hành thực thi câu truy vấn trên với
hàm mysql_query(). Kết quả của truy
vấn này sẽ trả về một Bảng dữ liệu tương tự như khi chúng ta làm việc trong môi
trường MySQL.
$query = mysql_query($sql);
Ví dụ:
Và để có thể lấy và xuất ra Bảng dữ liệu đó trên trình duyệt thì chúng ta cần phải có một số hàm hỗ trợ cho MySQL trong PHP mà chúng ta sẽ làm việc tiếp ở nội dung tiếp ngay sau đây
III – QUY TRÌNH XỬ LÝ KẾT QUẢ TRẢ VỀ TỪ TRUY VẤN SQL BẰNG MỘT SỐ HÀM
XÂY DỰNG SẴN TRONG PHP
1 – Hàm mysql_num_rows()
Hàm
mysql_num_rows() sẽ nhận vào một kết quả của quá trình thực thi truy vấn SQL và
trả về số mẩu tin của quá trình truy vấn đó
Cú pháp:
mysql_num_rows($query);
Trong đó $query chính là biến chứa kết quả trả về từ quá
trình thực thi câu lênh SQL
Ví dụ:
2 – Hàm
mysql_fetch_array()
Hàm mysql_fetch_array()
sẽ nhận vào kết quả của quá trình thực thi truy vấn SQL và trả về một mảng chứa
toàn bộ thông tin của một mẩu tin với Key là tên của Cột dữ liệu còn Value
chính là giá trị tương ứng của nó trong CSDL
Do đó để lấy toàn bộ các mẩu tin trong Bảng dữ liệu chúng ta cần phải sử một vòng lặp với phương pháp như sau:
Vì dụ:
IV – QUY TRÌNH ĐÓNG KẾT NỐI CSDL
Đây chính là quá trình đóng lại một kết nối với CSDL sau
khi đã thao tác xong với nó. Cũng giống như quá trình đóng lại một File khi
chúng ta đã thao tác xong trong bài học làm việc với File trong PHP mà chúng ta
đã được nghiên cứu trước kia
1 – Hàm mysql_close()
Hàm mysql_close()
sẽ nhận vào một kết nối tới CSDL và thực hiện quá trình đóng kết nối đó
Cú pháp:
mysql_close($connect_db);
Trong đó $connect_db chính là một kết nối tới CSDL của PHP
Ví dụ:
B – THỰC HÀNH
I – BÀI TẬP THỤC HÀNH
Bài 1:
Tạo CSDL qlthanhvien (Quản lý thành viên)
Tạo Bảng thanhvien với cấu trúc như sau:
qlthanhvien |
|||
id_thanhvien |
tai_khoan |
mat_khau |
quyen_truy_cap |
Tiến hành thêm một
số thông tin của các thành viên vào CSDL với nội dung như sau:
id_thanhvien |
tai_khoan |
mat_khau |
quyen_truy_cap |
1 |
admin |
admin |
2 |
2 |
lelien |
222222 |
1 |
3 |
nguyenminh |
333333 |
1 |
4 |
hoanganh |
444444 |
1 |
Xây dựng chức năng Login và Logout cho ứng dụng quản lý
thành viên với các yêu cầu về thiết kế như sau:
- Tạo Form đăng nhập cho người dùng
tương tác với hệ thống
- Tạo các trường nhập tài khoản và
mật khẩu để người dùng đăng nhập
- Tạo nút Submit để người dùng tiến
hành đăng nhập vào hệ thống
Xử lý đăng nhập với các yêu cầu sau:
- Thông báo “Yêu cầu nhập thông tin
tài khoản” nếu người dùng bỏ trống một trong các trường nhập nội dung
- Thông báo “Tài khoản của bạn không
tồn tại” nếu người dùng nhập một tài khoản không tồn tại trong CSDL
- Nếu người dùng nhập đúng tài khoản
trong CSDL thì cho phép đăng nhập vào trang quản lý thành viên đồng thời
hiển thị lời chào “Chúc mừng ‘Tên
tài khoản’ đã đăng nhập thành công”
Xử lý quá trình đăng xuất với yêu cầu sau:
- Khi người dùng lựa chọn Logout
ngay bên cạnh lời chào khi đăng nhập thì lập tức sẽ thoát khỏi hệ thống và
được điều hướng tới trang Login để tiến hành đăng nhập lại từ đầu
II – BÀI TẬP VỀ NHÀ
Bài 2:
Xây dựng trang quản lý thành viên sau khi người dùng
đăng nhập thành công với các yêu cầu thiết kế như sau:
Quản lý thành viên |
Thêm mới một thành viên |
||||
ID thành viên |
Tên tài khoản |
Mật khẩu |
Quyền truy cập |
Sửa |
Xóa |
1 |
admin |
admin |
2 |
Sửa |
Xóa |
2 |
lelien |
222222 |
1 |
Sửa |
Xóa |
3 |
nguyenminh |
333333 |
1 |
Sửa |
Xóa |
4 |
hoanganh |
444444 |
1 |
Sửa |
Xóa |
Bài 3:
Xây dựng trang thêm mới thành viên với các yêu cầu về
thiết kế như sau:
- Tạo Form cùng với các thành phần
trong Form để người dùng có thể nhập đầy đủ các thông tin của thành viên
như: tên tài khoản, mật khẩu, một Selectbox để lựa chọn quyền truy cập là
Admin hay Thành viên. Nút Submit để tiến hành thực thi Form
Xử lý quá trình thêm mới với các yêu cầu sau
- Bắt lỗi cho các trường tài khoản
và mật khẩu khi bị để trống
- Thông báo lỗi khi thêm một tài
khoản đã tồn tại trong CSDL
- Nếu không có lỗi nào sảy ra thì
tiến hành thêm mới thông tin thành viên vào CSDL và điều hướng người dùng
tới trang quản lý thành viên
No comments:
Post a Comment