Giáo trình Hướng dẫn thực hành ứng dụng dữ liệu web

Bài 1: Tính diện tích hình chữ nhật

Mục đích:

Làm quen với cách viết chương trình bằng ngôn ngữ PHP

Yêu cầu:

Thiết kế Form tính diện tích hình chữ nhật

Yêu cầu thiết kế:

Stt Đối

tượng

Yêu cầu Ghi chú

1 Form Đặt tên cho Form

Thiết lập phương thức cho Form là

post

Và action của Form là tên của trang

2 Điều

khiển

Sử dụng điều khiển TextField, Button

TextField Diện tích không cho phép

nhập liệu và chỉnh sửa

Yêu cầu chức năng

Stt Đối

tượng

Yêu cầu xử lý chức năng Ghi chú

1 Nút lệnh

Tính

Khi chọn, thực hiện tính

o Diện tích = Chiều dài * Chiều

rộng

Hướng dẫn giải(7)

Stt Đối tượng Xử lý

1 Trang Tạo một trang tên là dien_tich_hcn.php

2 Nút lệnh

Tính

Lần lượt lấy các giá trị trên form thông qua

biến $_POST

$ten_bien = $_POST[“ten_dieu_khien”];

Tính diện tích hình chữ nhật

$dt = $dai * $rong;

Xuất diện tích ($dt) ra TextField diện tích

Bài 2: Tính diện tích và chu vi hình tròn

Mục đích:

Làm quen các điều khiển cơ sở

Cách sử dụng hằng số

Yêu cầu:

Thiết kế Form tính diện tích và chu vi hình tròn

Yêu cầu thiết kế:

Stt Đối

tượng

Yêu cầu Ghi chú

1 Form Đặt tên cho Form

Thiết lập phương thức cho Form là

post

Và action của Form là tên của trang

2 Điều

khiển

Sử dụng điều khiển TextField,

Button(8)

Các TextField Diện tích và Chu vi

không cho phép nhập liệu và chỉnh

sửa

Giáo trình Hướng dẫn thực hành ứng dụng dữ liệu web trang 1

Trang 1

Giáo trình Hướng dẫn thực hành ứng dụng dữ liệu web trang 2

Trang 2

Giáo trình Hướng dẫn thực hành ứng dụng dữ liệu web trang 3

Trang 3

Giáo trình Hướng dẫn thực hành ứng dụng dữ liệu web trang 4

Trang 4

Giáo trình Hướng dẫn thực hành ứng dụng dữ liệu web trang 5

Trang 5

Giáo trình Hướng dẫn thực hành ứng dụng dữ liệu web trang 6

Trang 6

Giáo trình Hướng dẫn thực hành ứng dụng dữ liệu web trang 7

Trang 7

Giáo trình Hướng dẫn thực hành ứng dụng dữ liệu web trang 8

Trang 8

Giáo trình Hướng dẫn thực hành ứng dụng dữ liệu web trang 9

Trang 9

Giáo trình Hướng dẫn thực hành ứng dụng dữ liệu web trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 131 trang xuanhieu 6720
Bạn đang xem 10 trang mẫu của tài liệu "Giáo trình Hướng dẫn thực hành ứng dụng dữ liệu web", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình Hướng dẫn thực hành ứng dụng dữ liệu web

Giáo trình Hướng dẫn thực hành ứng dụng dữ liệu web
 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. 
 (106) 
 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) 
 (107) 
 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()); 
 } 
 (108) 
 } 
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); 
 (109) 
 - 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 
 (110) 
 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 . 
 (111) 
 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(); 
 (112) 
 - Duyệt và xuất ra các hãng sữa và loại sữa theo từng dòng bằng 
 foreach() theo định dạng như hình trên 
 foreach ($mang_hang_sua as $row){ 
 $ma_hang_sua = $row[‘Ma_hang_sua’]; 
 $ten_hang_sua = $row[‘Ten_hang_sua’]; 
 echo $ten_hang_sua. “”; 
 } 
 (Làm tương tự cho $mang_loai_sua) 
Bài 6: Tạo trang danh mục sữa như sau: 
Phân tích yêu cầu: 
 - Gọi sử dụng hai lớp xl_sua và hiển thị thông tin định dạng như hình 
Hướng dẫn giải: 
 - Gọi sử dụng class xl_sua bằng cách dùng inlucde 
 - Gọi hàm danh_sach_sua() để lấy các mẩu tin có trong bảng sua và gán 
 vào cho biến $mang_sua 
 - Duyệt và xuất ra các sữa theo từng dòng bằng foreach(): có định dạng 
 mỗi sữa hiển thị trên một dòng gồm 4 cột (của 1 table): cột đầu là hình 
 ảnh sữa, cột hai: tên sữa, cột ba: trọng lượng, cột 4: đơn giá (có định dạng 
 lại bằng hàm number_format()) 
 (113) 
Bài 7: Tạo Form Thêm một khách hàng mới vào bảng khách hàng. 
Phân tích yêu cầu: 
 - Gọi sử dụng lớp xl_khach_hang 
Hướng dẫn giải: 
 - Gọi sử dụng class xl_khach_hang 
 - Lấy các thông tin của khách hàng trên form và gán cho các biến tương 
 ứng 
 - Kiểm tra các giá trị lấy được 
 - Gọi hàm them_khach_hang($makh, $tenkh, $phai, $dia_chi, $dien_thoai, 
 $email): để thêm một khách hàng mới vào bảng khách hàng. 
 - Thông báo kết quả sau khi thêm mới 
 (114) 
 BUỔI THỰC HÀNH SỐ 13 
Bài 8: Tạo trang danh mục sữa bán chạy: 
Phân tích yêu cầu: 
 - Gọi sử dụng lớp xl_sua 
 - Dùng hàm danh_sach_sua_ban_chay(): để lấy 5 sữa bán chạy nhất và 
 hiển thị như định dạng trên 
Hướng dẫn giải: 
 - Gọi sử dụng class xl_sua bằng cách dùng include 
 - Gọi hàm danh_sach_sua_ban_chay() để lấy 5 loại sữa bán chạy nhất và 
 gán vào cho biến $mang_sua 
 - Duyệt mảng sữa và xuất ra các tên sữa theo từng dòng bằng foreach() 
 theo định dạng được yêu cầu 
Bài 9: Tạo trang hoàn chỉnh 1: 
Phân tích yêu cầu: 
 Tạo các trang sau 
 (115) 
- Trang banner.htm 
- Trang footer.htm 
- Trang sữa bán chạy có link: 
- Dùng trang sua_ban_chay đã có sẵn lưu lại với tên sua_ban_chay_link 
 sau đó thêm link cho từng sữa (để link qua trang tong_hop_1) và định 
 dạng lại như hình trên 
- Trang chi tiết sữa bán chạy: 
 Gọi sử dụng hàm trong lớp xl_sua để lấy thông tin một sữa bán chạy khi 
 người dùng chọn tên sữa. Hiển thị thông tin như hình trên. 
- Sau đó ráp lại thành một trang hoàn chỉnh có tên là trangn 
 tong_hop_1.php 
 (116) 
 - Trang hoàn chỉnh: 
Hướng dẫn giải: 
 Trang sua_ban_chay_link.php: 
 - Làm tương tự như trang sua_ban_chay.php, chỉ khác ở phần tên sữa có 
 thêm link: 
 foreach ($mang_sua as $row){ 
 $ma_sua = $row[“ma_sua”]; 
 $ten_sua = $row[“ten_sua”]; 
 echo “<a href = 
 tong_hop_1.php?ma_sua =”.$ma_sua. “>$ten_sua”; 
 } 
 Trang chi_tiet_sua_ban_chay.php: 
 - Thực hiện câu lệnh truy vấn và lấy thông tin sữa khi người dùng chọn 
 sữa: 
 if (isset($_REQUEST[“ma_sua”])){ 
 $ma_sua = $_REQUEST[“ma_sua”]; 
 (117) 
 $strsql = “select * from SUA, LOAI_SUA, HANG_SUA where 
 SUA.Ma_loai_sua = LOAI_SUA.Ma_loai_sua AND SUA.Ma_hang_sua 
 = HANG_SUA.Ma_hang_sua AND Ma_sua like ‘$ma_sua’ ”; 
 $mang_sua = $xl_sua -
 >danh_sach_sua_theo_hang_theo_loai($strsql); 
- Duyệt mảng sữa và xuất thông tin sữa được chọn giống như định dạng 
 chi tiết sữa đã làm ở bài trước (tham khảo bài lưới định dạng cột có link) 
 Trang tong_hop_1.php 
- Tạo một table có ba dòng 
 o Dòng 1: gọi sử dụng trang banner.html 
 o Dòng 2: cột trái gọi sử dụng trang sua_ban_chay_link.php 
 o Dòng 2: cột phải gọi trang chi_tiet_sua_ban_chay.php 
 o Dòng 3: gọi sử dụng trang footer.html 
 (118) 
 BUỔI THỰC HÀNH SỐ 14 
Bài 10: Tạo trang hoàn chỉnh 2: 
Phân tích yêu cầu: 
 Tạo các trang sau 
 - Trang banner.htm 
 - Trang footer.htm 
 - Trang menu_phai.html: 
 (119) 
- Trang loại – hãng sữa có link: 
 (120) 
 Dùng trang loai_hang_sua đã có sẵn lưu lại với tên laoi_hang_sua_link 
 sau đó thêm link cho từng hãng sữa và từng loại sữa (để link qua trang 
 tong_hop_2.php) và định dạng như hình. 
- Trang danh mục sữa theo loại - hãng: 
 Gọi sử dụng hàm trong lớp xl_sua để lấy thông tin các sản phẩm sữa khi 
 người dùng chọn hãng sữa hay loại sữa. Hiển thị thông tin như hình bên. 
- Sau đó ráp lại thành một trang hoàn chỉnh có tên trang là tong_hop_2.php 
 Khi người dùng chưa chọn hãng sữa và loại sữa -> hiển thị toàn bộ danh 
 mục sữa có trong bảng sữa 
 Khi người dùng chọn 1 hãng sữa -> hiển thị các sữa thuộc hãng sữa được 
 chọn 
 (121) 
Hướng dẫn giải: 
 Trang loai_hang_sua_link.php: 
 - Làm tương tự như trang loai_hang_sua.php, chỉ khác ở phần tên hãng 
 sữa, tên loại sữa sẽ có thêm link: 
 foreach ($mang_hang_sua as $row){ 
 .. echo “<a 
 href=tong_hop_2.php?ma_hs =”.$ma_hang_sua. 
 “>$ten_hang_sua”; 
 }  
 foreach ($mang_loai_sua as $row){ 
 .. echo “<a 
 href=tong_hop_2.php?ma_ls =”.$ma_loai_sua. 
 “>$ten_loai_sua”; 
 }  
 Trang danh_muc_sua_loai_hang.php: 
 - Thực hiện câu lệnh truy vấn và lấy thông tin sữa khi người dùng chọn 
 loại sữa hoặc hãng sữa: 
 if (isset($_REQUEST[“mahs”])){ 
 $mahs = $_REQUEST[“mahs”]; 
 $strsql = “select * from SUA where Ma_hang_sua like ‘$mahs’ ”; 
 } 
 (122) 
 if (isset($_REQUEST[“mahs”])){ 
 $mals = $_REQUEST[“mals”]; 
 $strsql = “select * from SUA where Ma_loai_sua like ‘$mals’ ”; 
 } 
 Trang danh_muc_sua_loai_hang.php 
 if (!isset ($_REQUEST[“mahs”]) && !isset($_REQUEST[“mals”])){ 
 $strsql = “select * from sua order by Ma_hang_sua asc”; 
 } 
 $mang_sua = $xl_sua ->danh_sach_sua_theo_hang_theo_loai(strsql); 
 Phần hiển thị làm tương tự như bài danh mục sữa 
 Trang tong_hop_2.php: 
- Tạo một table có 3 dòng: 
 + Dòng 1: Gọi sử dụng trang banner.htm 
 + Dòng 2: cột trái gọi sử dụng trang loai_hang_sua_link.php 
 + Dòng 2: cột trung tâm gọi sử dụng trang 
 danh_muc_sua_theo_loai_hang.php 
 + Dòng 2: cột phải gọi sử dụng trang menu_phai.php 
 + Dòng 3: gọi sử dụng trang footer.php 
 (123) 
 BUỔI THỰC HÀNH SỐ 15 
Bài 11: Tạo trang chủ hoàn chỉnh 3: 
Phân tích yêu cầu: 
 Tạo các trang sau 
 - Trang chi tiết sữa: 
 - Trang thêm sữa mới: 
 (124) 
- Trang sữa bán chạy: 
- Trang tìm kiếm sữa: 
 (125) 
- Trang thêm khách hàng: 
- Sau đó ráp lại thành một trang web hoàn chỉnh theo sơ đồ sau: 
 (126) 
Hướng dẫn giải: 
 Trang tổng hợp 
 (127) 
 PHỤ LỤC 
1. Upload code lên host bằng phần mềm Cute FTP 
 - Bước 1: Kết nối với hosting bằng Cute FTP 
 o Điền thông tin đăng nhập: 
 ▪ Tên host 
 ▪ User name 
 ▪ Pass 
 ▪ Port: 21 (mặc định) 
 (tham khảo hình) 
 o Click Connect để kết nối tới Host 
 - Bước 2: Copy code trên máy tính vào thư mục public_html trên host 
 o Tại khung Local Driver: Chọn thư mục chứa code web muốn up lên host 
 (128) 
 o Tại khung Site Manage, click chọn thư mục public html 
 o Thực hiện copy - paste thư mục từ Local Driver sang thư mục public 
html 
 o Hoàn thành quá trình Copy này là đã đẩy code web lên host thành công 
2. Upload database lên hosting 
 - Bước 1: Truy nhập vào tài khoản Host 
 - Bước 2: Vào Cơ sở dữ liệu MySql để tạo tên database 
 (129) 
- Bước 3: Click phpmyadmin để Import database từ file sql trên máy tính 
 (130) 
 TÀI LIỆU THAM KHẢO 
[1] Lập trình Ứng dụng Web với php – Tập 1, Trung tâm tin học – Đại học Khoa 
học tự nhiên - ĐH Quốc Gia TP. Hồ Chí Minh, 2018. 
[2] Lập trình Ứng dụng Web với php – Tập 2, Trung tâm tin học – Đại học Khoa 
học tự nhiên - ĐH Quốc Gia TP. Hồ Chí Minh, 2018. 
[3] Joel Murach, Ray Harris, Lập trình cơ bản PHP và MySQL, Nhà xuất bản 
Khoa học Kỹ thuật, 2013 
[4] Joel Murach, Ray Harris, Lập trình nâng cao PHP và MySQL, Nhà xuất bản 
Khoa học Kỹ thuật, 2014 
[5] Jeremy Osborn và nhóm AGI Creative, Thiết kế web với Dreamweaver, Nhà 
xuất bản Bách Khoa Hà Nội, 2016. 
[6] https://freetuts.net/hoc-php 
[7] https://www.codecademy.com/ 
[8] https://viettuts.vn/php 
[9] https://kungfuphp.com 
 (131) 

File đính kèm:

  • pdfgiao_trinh_huong_dan_thuc_hanh_ung_dung_du_lieu_web.pdf