o Tính tổng số trang bằng hàm findPages($count, $limit)
o Để đọc bảng dùng mysql_query(“select … limit $start, $limit”)
o Duyệt các mẩu tin có được bằng hàm mysql_fetch_row(…)
o Tạo 1 table có background là hình quyển album như hình trên, table có 2 cột. Trong đó, mỗi cột sẽ hiển thị một hình ảnh có nguồn lấy từ cột hình của bảng thu_vien_gia_dinh trong CSDL Album
o Sau đó xuất danh sách trang theo kiểu Back|Next bằng cách gọi hàm $next_prev = nextPrev($_GET[‘page’], $pages)
Bài 16: Thiết kế trang Bộ sưu tập áo cưới như sau:
Khi người dùng chưa chọn hình ảnh, hiển thị hình đầu tiên của trang. Khi người dùng chọn hình ảnh, hiển thị hình mà người dùng đã chọn
Phân tích yêu cầu:
Xử lý
Có thể bạn quan tâm!
- Hướng dẫn thực hành Ứng dụng dữ liệu web - 11
- Hướng dẫn thực hành Ứng dụng dữ liệu web - 12
- Hướng dẫn thực hành Ứng dụng dữ liệu web - 13
- Hướng dẫn thực hành Ứng dụng dữ liệu web - 15
- Hướng dẫn thực hành Ứng dụng dữ liệu web - 16
- Hướng dẫn thực hành Ứng dụng dữ liệu web - 17
Xem toàn bộ 145 trang tài liệu này.
- Trang class_phan_trang.php:
o Đã được tạo ra ở bài trước
- Trang noi_dung.php:
o Gọi sử dụng class_phan_trang.php
o Kết nối và hiển thị dữ liệu như cột trái của hình trên (liệt kê tất cả các hình ảnh của bảng thu_vien_hinh trong CSDL album dạng thu nhỏ, có link kèm theo mã hình ảnh), có sở dụng các hàm phân trang thích hợp cho việc phân trang (4 hình/1 trang).
o Viết hàm hien_thi_hinh($ma_hinh) để hiển thị hình ở cột trung tâm
- Trang bo_suu_tap_ao_cuoi.php:
o Gọi sử dụng trang noi_dung.php ở cột trái để hiển thị hình ảnh như yêu cầu
o Gọi hàm nextPrev($_GET[‘page’], $pages) ở cuối cột trái để hiển thị phân trangn
o Gọi hàm hien_thi_hinh($ma_hinh) để hiển thị hình ở cột trung tâm khi người dùng được chọn. (Nếu người dùng chưa chọn thì hiển thị hình đầu tiên của mỗi trang như trên)
Hướng dẫn giải:
- Trang noi_dung.php:
o Xác định số dòng nội dung cần hiển thị cho một trang và gán vào cho biến $limit = 4
o Tìm dòng bắt đầu của mỗi trang bằng hàm findStart(…) và gán cho biến $start
o Đếm số mẩu tin có trong bảng bằng hàm mysql_num_rows(…) và gán vào cho biến $count
o Tính tổng số trang bằng hàm findPages($count, $limit)
o Để đọc bảng dùng mysql_query(“select … limit $start, $limit”)
o Dùng một biến đềm $t = 0 và tăng dần theo từng dòng
o Duyệt các mẩu tin có được bằng hàm mysql_fetch_row(…)
o Thêm vào một table có một dòng hai cột
Vì mỗi trang hiển thị 4 mẩu tin, nếu biến $t chia hết cho 2 thì xuất theo dạng cột đầu hiển thị hình kèm theo link chứa mã hình, còn cột thứ hai thì bỏ trống, nếu
$t không chia hết cho 2 thì xuất ngược lại.
o Xây dựng hàm hien_thi_hinh_anh($ma_hinh) để hiển thị hình ảnh được chọn
- Trang bo_suu_tap_ao_cuoi.php
o Gọi sử dụng trang noi_dung.php
o Cột bên trái hiển thị danh mục hình ảnh và phân trang
o Cột trung tâm: lấy giá trị mã hình ảnh được chọn bằng
$_REQUEST, sau đó gọi hàm hien_thi_hinh_anh($ma_hinh): để hiển thị hình ảnh như yêu cầu)
PHẦN 4: LẬP TRÌNH ỨNG DỤNG QUẢN LÝ TRÊN WEB
BUỔI THỰC HÀNH SỐ 11
Giới thiệu class database
- Được xây dựng để xử lý các công việc liên quan đến CSDL
- Có các phương thức cơ bản như: mở kết nối CSDL, thực hiện truy vấn trong CSDL, đóng kết nối CSDL
- Ngoài ra còn có các phương thức cần thiết khác Các thuộc tính
- var $_sql = “; -> câu lệnh truy vấn
- var $_connection = “; -> kết nối
- var $_cursor = null; -> kết quả của câu lệnh truy vấn Phương thức database(): Dùng để kết nối vào CSDL
- Kết nối thông thường
o Tạo kết nối CSDL
$db = mysql_connect(‘localhost’, ‘root’, ‘’);
o Kiểm tra kết nối if (!$db) {
echo “không thể kết nối CSDL”; exit;
}
o Chọn CSDL
mysql_select_db(“ql_ban_sua”);
- Phương thức kết nối function database()
{$this ->connection = @mysql_connect(“loacalhost’,’root’,’’); if (!$this ->_connection){
die (“không thể kết nối MySQL”);
}
$db = ‘ql_ban_sua’;
if ($db != “ && !mysql_select_db($db, $this ->_connection)){ die (“Không thể mở CSDL $db: “.mysql_error());
}
}
Phương thức setQuery(): gán giá trị cho câu lệnh truy vấn
- Thông thường
$sql = “câu lệnh truy vấn”;
- Phương thức setQuery function setQuery($sql){
$this ->_sql = $sql;
}
Phương thức loadAllRow(): Lấy tất cả các dòng dữ liệu (mẩu tin) function loadAllRow(){
if (!$cur = $this ->query())) //kiểm tra câu lệnh truy vấn return null;
$array = array(); // khai báo mảng để lưu trữ các mẩu tin từ câu lệnh truy vấn
while ($row = mysql_fetch_asscoc($cur)) //lần lượt duyệt từng mẩu tin trong câu truy vấn và gán vào mảng
{ $array[] = $row;
}
mysql_free_result($cur); //giải phóng câu lệnh truy vấn return $arrar; // trả về mảng chứa các mẩu
tin
}
Phương thức query(): thực hiện câu lệnh truy vấn. Sử dụng khi muốn thực hiện việc thêm – xóa – sửa mẩu tin
- Thông thường
$result = mysql_query(‘câu lệnh truy vấn’, $db);
- Phương thức query() function query(){
$this ->_cursor = mysql_query($this ->_sql, $this ->_connection); return $this ->_cursor;
}
Phương thức disconnect(): đóng kết nối CSDL
- Thông thường mysql_close($db);
- Phương thức disconnect function disconnect(){
mysql_close(this ->_connection);
}
Bài 1: Xây dựng lớp xử lý hãng sữa: XL_HANG_SUA Phân tích yêu cầu:
- Xây dựng các hàm cần thiết để truy xuất và cập nhật dữ liệu trong bảng hang_sua dựa trên các hàm đã được xây dựng trong class database
Hướng dẫn giải:
- Gọi sử dụng trang chứa class database
- Xây dựng class xl_hang_sua kế thừa từ class database
- Khai báo các thuộc tính của class (nếu cần)
- Tạo các hàm cần thiết cho class (danh_sach_hang_sua(): dùng để đọc toàn bộ các mẩu tin trong bảng hãng sữa, …)
Bài 2: Xây dựng lớp xử lý loại sữa: XL_LOAI_SUA Phân tích yêu cầu:
- Xây dựng các hàm cần thiết để truy xuất và cập nhật dữ liệu trong bảng loai_sua dựa trên các hàm đã được xây dựng trong class database
Hướng dẫn giải:
- Gọi sử dụng trang chứa class database
- Xây dựng class xl_loai_sua kế thừa từ class database
- Khai báo các thuộc tính của class (nếu cần)
- Tạo các hàm cần thiết cho class (danh_sach_loai_sua(): dùng để đọc toàn bộ các mẩu tin trong bảng loại sữa, …)
Bài 3: Xây dựng lớp xử lý loại sữa: XL_SUA Phân tích yêu cầu:
- Xây dựng các hàm cần thiết để truy xuất và cập nhật dữ liệu trong bảng sua dựa trên các hàm đã được xây dựng trong class database
Hướng dẫn giải:
- Gọi sử dụng trang chứa class database
- Xây dựng class xl_sua kế thừa từ class database
- Khai báo các thuộc tính của class (nếu cần)
- Tạo các hàm cần thiết cho class
o danh_sach_sua(): dùng để đọc toàn bộ các mẩu tin trong bảng sữa
o danh_sach_sua_theo_hang_theo_loai($strsql): lọc các mẩu tin theo câu lệnh truy vấn với tham số truyền vào $strsql
o danh_sach_sua_ban_chay(): lọc các mẩu tin sữa bán chạy nhất
o them_sua(…): thêm mới một sữa vào bảng sữa
o …
Bài 4: Xây dựng lớp xử lý khách hàng: XL_KHACH_HANG Phân tích yêu cầu:
- Xây dựng các hàm cần thiết để truy xuất và cập nhật dữ liệu trong bảng khach_hang dựa trên các hàm đã được xây dựng trong class database
Hướng dẫn giải:
- Gọi sử dụng trang chứa class database
- Xây dựng class xl_khach_hang kế thừa từ class database
- Khai báo các thuộc tính của class (nếu cần)
- Tạo các hàm cần thiết cho class
o Lay_DS(): dùng để đọc toàn bộ các mẩu tin trong bảng khách hàng
o Them_khach_hang(…): thêm mới một khách hàng vào bảng khách hàng
o ….
BUỔI THỰC HÀNH SỐ 12
Bài 5: Tạo trang danh mục hãng sữa, loại sữa như sau:
Phân tích yêu cầu:
- Gọi sử dụng hai lớp xl_hang_sua và xl_loai_sua vào trang
- Hiển thị danh mục hãng sữa và loại sữa như hình bên
Hướng dẫn giải:
- Gọi sử dụng class xl_hang_sua và xl_loai_sua bằng cách dùng inlucde hay include_once
include(“data/xl_hang_sua.php”) include(“data/xl_loai_sua.php”)
- Khai báo hai lớp $xl_hang_sua và $xl_loai_sua:
$xl_hang_sua = new xl_hang_sua();
$xl_loai_sua = new xl_hang_sua();
- Gọi hàm danh_sach_hang_sua() và hàm danh_sach_loai_sua() để lấy các mẩu tin có trong hai bảng loai_sua và hang_sua và gán cho 2 mảng là
$mang_hang_sua và $mang_loai_sua
$mang_hang_sua = $xl_hang_sua -> danh_sach_hang_sua();