Hướng dẫn thực hành Ứng dụng dữ liệu web - 11

Liệt kê các khách hàng chưa mua hàng

Hướng dẫn giải

Truy vấn chính -> Danh sách các khách hàng trong bảng Khách

Hàng

Truy vấn con -> Danh sách các khách hàng trong bảng

HOA_DON

Điều kiện so sánh -> Truy vấn chính lọc các mã khách hàng không có trong truy vấn con

Select * From KHACH_HANG Where Ma_khach_hang not in (Select Ma_khach_hang From HOA_DON)

Lý thuyết

- Create Table <Tên bảng>

Có thể bạn quan tâm!

Xem toàn bộ 145 trang tài liệu này.

( tên_cột_1 kiểu dữ liệu [primary][null|not null], tên_cột_2 kiểu dữ liệu [primary][null|not null], tên_cột_3 kiểu dữ liệu [primary][null|not null],

…………..

)

Yêu cầu 2:

Tạo ra một bảng mới có tên là bang_tam có cấu trúc giống như bảng SUA

Hướng dẫn giải

Create Table bang_tam

( Ma_sua varchar(6) primary key not null, Ten_sua varchar(50) not null, Ma_hang_sua varchar(20) not null, Ma_loai_sua varchar(3) not null, Trong_luong int,

Don_gia int, TP_dinhduong text, Loi_ich text,

Hinh varchar(200)

)

Yêu cầu 3:

Tạo ra một bảng mới có tên là bang_Vinamilk có cấu trúc giống như bảng SUA

Hướng dẫn giải

Create Table bang_Vinamilk

( Ma_sua varchar(6) primary key not null, Ten_sua varchar(50) not null, Ma_hang_sua varchar(20) not null, Ma_loai_sua varchar(3) not null, Trong_luong int,

Don_gia int, TP_dinhduong text, Loi_ich text,

Hinh varchar(200)

)

BUỔI THỰC HÀNH SỐ 7

Bài 7: Truy vấn thêm mới Lý thuyết

- Loại 1:

INSERT INTO <Tên bảng> (tên cột 1, tên cột 2, …) VALUES (giá_trij1, giá_trị2, …)

- Loại 2:

INSERT INTO <Tên bảng> (Danh sách các cột) SELECT <Danh sách các cột> FROM <Tên bảng nguồn>

Yêu cầu 1:

Thêm một khách hàng mới vào bảng khách hàng với những thông tin sau:

- Mã khách hàng: KH007

- Tên khách hàng: Mai Anh

- Phái: 1 (Nữ)

- Địa chỉ: 123 – Quang Trung – TP. Nam Định – Nam Định

- Điện thoại: 0912344455

- Email: mai_anh@gmail.com

Hướng dẫn giải

Insert into khach_hang values(‘KH007’, ‘Mai Anh’, 1, ‘123 Quang Trung

– Tp NĐ – NĐ’, ‘0912344455’, ‘mai_anh@gmail.com’)

Yêu cầu 2:

Thêm các thông tin có trong bảng SUA vào bảng bang_tam

Hướng dẫn giải

Insert into bang_tam Select * from sua

Bài 8: Truy vấn cập nhật dữ liệu Lý thuyết

UPDATE <Tên bảng> SET <tên cột 1> = giá_trị_1, … [Where <Điều kiện>]

Yêu cầu 1:

- Hãy cập nhật lại đơn giá của sữa trong bang_tam theo công thức sau: đơn giá = đơn giá cũ + 3%

Hướng dẫn giải

- Update bang_tam Set Don_gia = Don_gia + (Don_gia*3)/100

Yêu cầu 2:

- Hãy tạo thêm cột trị giá cho bảng hoa_don sau đó tính trị giá cho mỗi hoá đơn và cập nhật cho cột trị giá của bảng này

Hướng dẫn giải

- Alter table hoa_don add column Tri_gia double

Update hoa_don h Set Tri_gia = (Select sum(So_luong*Don_gia) from ct_hoadon c where c.So_hoa_don = h.So_hoa_don)

Bài 9: Truy vấn xoá dữ liệu Lý thuyết

DELETE FROM <Tên bảng> WHERE <Điều kiện>

Yêu cầu 1:

- Hãy xoá khách hàng có mã khách hàng là ‘KH007’

Hướng dẫn giải

- Delete from khach_hang Where Ma_khach_hang = ‘KH007’

Yêu cầu 2:

- Hãy xoá những sữa có trọng lượng nhỏ hơn 200gr hoặc có đơn giá nhỏ hơn 10000 VNĐ trong bang_tam

Hướng dẫn giải

- Delete from bang_tam Where Trong_luong<200 or Don_gia <10000

Yêu cầu 3:

- Hãy xoá hang_sua không có sản phẩm sữa nào

Hướng dẫn giải

- Delete from hang_sua Where Ma_hang_sua not in (Select Ma_Hang_sua from sua)

PHẦN 3: KẾT HỢP PHP VÀ MYSQL BUỔI THỰC HÀNH SỐ 8‌

Bài 1: Tạo một trang hiển thị thông tin hãng sữa như sau:


Phân tích yêu cầu Xử lý o Kết nối vào MySQL o Chọn CSDL QL BAN SUA o Đọc bảng 1

Phân tích yêu cầu:

- Xử lý:

o Kết nối vào MySQL

o Chọn CSDL QL_BAN_SUA

o Đọc bảng HANG_SUA

o Xuất các thông tin về hãng sữa dưới dạng lưới thô (table) như hình trên

Hướng dẫn giải

Xử lý:

- Kết nối vào MySQL bằng câu lệnh:

o Mysql_connect(“localhost”, “root”, “”);

- Chọn CSDL QL_BAN_SUA

o Mysql_select_db(“QL_BAN_SUA”);

- Đọc bảng HANG_SUA:

o $result = mysql_query(“Select * from HANG_SUA”);

- Duyệt các mẩu tin trong bảng HANG_SUA

o while($row = mysql_fetch_row($result))

{ //Lấy và xuất từng mẩu tin vào từng dòng trong table như yêu cầu

}

Bài 2: Thiết kế trang hiển thị thông tin khách hàng định dạng như sau:


Phân tích yêu cầu Xử lý o Kết nối vào MySQL o Chọn CSDL QL BAN SUA o Đọc bảng 2

Phân tích yêu cầu:

- Xử lý:

o Kết nối vào MySQL

o Chọn CSDL QL_BAN_SUA

o Đọc bảng KHACH_HANG

o Xuất các thông tin về khách hàng dạng lưới có định dạng như hình trên, trong đó: các cột trên dòng tiêu đề được canh giữa, in đậm, có màu chữ khác có dòng nội dung; dòng chẵn và dòng lẻ ở phần nội dung có màu nền khác nhau; cột giới tính được canh giữa

Hướng dẫn giải

Xử lý:

- Kết nối vào MySql bằng câu lệnh:

o Mysql_connect(“localhost”, “root”, “”);

- Chọn CSDL QL_BAN_SUA

o Mysql_select_db(“QL_BAN_SUA”);

- Đọc bảng KHACH_HANG:

o $result = mysql_query(“Select * from KHACH_HANG”);

- Xuất dòng tiêu đề của table theo định dạng

- Đặt $stt = 0; // Đặt biến đếm, sẽ tăng theo số mẩu tin

- Duyệt các mẩu tin trong bảng KHACH_HANG:

o While($row = mysql_fetch_row($result))

{ //Kiểm tra nếu $stt % 2 ==0 xuất 1 dòng có màu nền khác, ngược lại thì xuất 1 dòng không có màu nền

// Lấy và xuất từng mẩu tin vào từng dòng trong table như yêu cầu, cột phái (giới tính) align = ‘center’

// Tăng $stt

}

Bài 3: Tạo một trang hiển thị thông tin khách hàng có tuỳ biến cột giới tính như sau:


Phân tích yêu cầu Xử lý o Cột giới tính được canh giữa và hiển thị thông 3

Phân tích yêu cầu:

- Xử lý:

o Cột giới tính được canh giữa và hiển thị thông tin như sau: nếu giới tính của khách hàng là Nam thì hiển thị tượng trưng cho phái Nam, còn nếu ngược lại thì hiển thị hình tượng trưng cho phái Nữ như hình trên

Hướng dẫn giải

Xử lý:

- Xuất dòng tiêu đề của table theo định dạng:

o Đặt $stt = 0; // Đặt biến đếm, sẽ tăng theo số mẩu tin

o While($row = mysql_fetch_row($result))

{ // Kiểm tra nếu $stt % 2 == 0 xuất 1 dòng có màu nền khác, ngược lại thì xuất 1 dòng không có màu nền

// Lấy và xuất từng mẩu tin vào từng dòng trong table như yêu cầu

// Cột phái (giới tính) align = ‘center’, và if(phái =1) $hinh = “<img scr= ‘imagebe_gai_2.jpg’ else $hinh = “<img scr = ‘imagebe_trai_1.jpg’

// Tăng $stt

}

Bài 4: Class pager

- Lý thuyết: Giới thiệu class pager Đặt vấn đề:

32 8 4 trang Giới thiệu Được xây dựng để xử lý các công việc liên quan đến 4

32/8 = 4 trang

Giới thiệu:

- Được xây dựng để xử lý các công việc liên quan đến phân trang

- Có các phương thức cơ bản như: tìm vị trí bắt đầu trang, tính tổng số trang, in danh sách trang theo dạng danh sách số, in danh sách trang theo dạng “Quay về|Tiếp tục”

Quá trình thực hiện việc phân trang:


In danh sách trang theo dạng Quay về Tiếp tục Quá trình thực hiện việc phân trang 5

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 29/01/2024