Lập trình web với PHP - p15

Chia sẻ: Yukogaru | Ngày: | Loại File: PDF | Số trang:10

0
156
lượt xem
112
download

Lập trình web với PHP - p15

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Chương 4 : SỬ DỤNG BẢNG ĐỂ TRÌNH BÀY DỮ LIỆU Chúng ta có thể thành công trong việc kết hợp PHP và MySQL để tạo ra trang web động, khi có nhiều dòng dữ liệu cần trình bày, chúng ta cần phải có cơ chế để người xem dễ dàng đọc dữ liệu và cần phải đẹp, ngắn gọn, trình bày rõ ràng. Phương pháp dễ nhất là sử dụng bảng. Trong chương này chúng ta sẽ biết: Tạo bảng để tổ chức dữ liệu từ cơ sở dữ liệu. Tạo tiêu đề cột tự động. Bảng thông dụng với...

Chủ đề:
Lưu

Nội dung Text: Lập trình web với PHP - p15

  1. Chương 4 : SỬ DỤNG BẢNG ĐỂ TRÌNH BÀY DỮ LIỆU Chúng ta có thể thành công trong việc kết hợp PHP và MySQL để tạo ra trang web động, khi có nhiều dòng dữ liệu cần trình bày, chúng ta cần phải có cơ chế để người xem dễ dàng đọc dữ liệu và cần phải đẹp, ngắn gọn, trình bày rõ ràng. Phương pháp dễ nhất là sử dụng bảng. Trong chương này chúng ta sẽ biết: - Tạo bảng để tổ chức dữ liệu từ cơ sở dữ liệu. - Tạo tiêu đề cột tự động. - Bảng thông dụng với kết quả truy vấn MySQL cơ bản. - Bảng thông dụng với kết quả truy vấn MySQL phức tạp. - Tạo trang thân thiện cho người dùng Tạo bảng Khi có một danh sách dữ liệu, cần phải đặt cấu trúc, tiêu đề cột, định dạng bảng. Ví dụ: định nghĩa tiêu đề bảng:Mở trinh soạn thảo nhập đoạn mã và lưu với tên table.php.
  2. Movie Type EOD; echo $movie; ?> Kết quả như Hình 4.1.1 Hình Error! No text of specified style in document.-1.1 Tất cả đoạn mã nằm bên trong
  3. Bảng thường dùng Ví dụ: Điền dữ liệu vào bảng: Bởi vì đây là một đoạn mã lớn nên tất những thay đổi đều có được thể hiện rõ rệt. Một vài thứ được lấy ra từ tập lệnh gốc. Mở file table1.php và sửa lại mã. Chúng ta sử dụng lại dữ liệu ở chương 3 cho ví dụ này. Phải nhớ tên server, tên người dùng, mật khẩu, tên cơ sở dữ liệu với những giá trị của bạn:
  4. cellspacing=”2” align=”center”> Movie Title Movie Director Movie Lead Actor EOD; Sau đó nhập đoạn mã vào gốc(trừ mệnh đề echo) Chú ý nó thật sự đã gọi là $movie_header không phải là $movie $movie_details = „‟; while ($row = mysql_fetch_array($result)) { $movie_name = $row[„movie_name‟]; $movie_director = $row[„movie_director‟]; $movie_leadactor = $row[„movie_leadactor‟]; $movie_details .=
  5. EOD; Hoạt động: Trong đoạn mã trước nó làm việc khá nhiều, vì vậy chúng ta xem xét chi tiết hơn. Bạn biết rằng, dòng lặp của mệnh đề while thông qua những mẫu tin đã được trả về, đối với mỗi mẫu tin nó thực hiện một khối đoạn mã trong dấu ngoặc. Đừng lo lắng PHP đủ thông minh để biết có bao nhiêu mẫu tin và số mẫu tin hiện hành trong trường hợp này. Ở đây không có sự nguy hiểm cho việc ấn định giá trị sai cho mẫu tin. Dòng đầu tiên của vòng lặp while, nói rằng các tập lệnh được viết ra là giá trị của cột movie_name trong mẫu tin hiện hành và đặt vào một biến là $movie_name. Bốn dòng tiếp theo làm những việc tương tự, chúng đơn giản ấn định giá trị tên của cột khác cho những tên biến khác. Sau đó, bạn đến thẻ tương tự như cái bạn đã thấy khi bắt đầu chương này. Nó không hoàn toàn giống như trước bởi vì nó có .=
  6. } Trong đoạn trước, mọi thứ chính xác như nhau nhưng nó sẽ giới hạn nếu bạn muốn định dạng bất kỳ giá trị biến nào. Thực hành, gôm nó tất cả lại với nhau. Dữ liệu được nhận lại bây giờ nhưng bạn cần gửi đến tất cả các trình duyệt vì vậy nó sẽ được trình bày trong bảng. Bạn ấn định $movie_footer bằng cách nhập dòng sau: $movie_footer =””; $movie =
  7. Đầu tiên đoạn mã của bạn lấy thông tin lưu trữ trong $movie_header, $movie_footer, và cuộn tất cả lên và đặt nó trong $movie với việc sử dụng heredoc. Sau đó có những dòng sau: echo “There are $num_movies movies in our database”; echo $movie; Bạn in ra câu lệnh có bao nhiêu phim trong cơ sở dữ liệu và sau đó gửi tất cả các biến $movie_header, $movie_details, and $movie_footer với dòng tiếp theo Bảng này nhìn trông cũng đẹp, nhưng trong chương 3 nó không làm cho người dùng tốt nếu họ không có người giải mã bí mật để hướng dẫn cho họ biết mối liên hệ giữa diễn viên và đạo diễn trong phim. Bạn cần liên kết những bảng của bạn để điền đầy đủ thông tin. Ví dụ: Phát triển bảng Trong bài tập này bạn liên kết các bảng lại với nhau như bạn thấy trong chương 3, bạn có thể xuất đầy đủ thông tin dữ liệu. Sửa file table1.php như sau lưu lại với tên table2.php
  8. Movie Title Movie Director Movie Lead Actor EOD; function get_director() { global $movie_director; global $director; $query_d = “SELECT people_fullname “ . “FROM people “ . “WHERE people_id=‟$movie_director‟”; $results_d = mysql_query($query_d) or die(mysql_error()); $row_d = mysql_fetch_array($results_d); extract($row_d); $director = $people_fullname; } function get_leadactor() { global $movie_leadactor; global $leadactor; $query_a = “SELECT people_fullname “ . “FROM people “ . “WHERE people_id=‟$movie_leadactor‟”; $results_a = mysql_query($query_a) or die(mysql_error()); $row_a = mysql_fetch_array($results_a);
  9. extract($row_a); $leadactor = $people_fullname; } while ($row = mysql_fetch_array($result)) { $movie_name = $row[„movie_name‟]; $movie_director = $row[„movie_director‟]; $movie_leadactor = $row[„movie_leadactor‟]; //get director‟s name from people table get_director(); //get lead actor‟s name from people table get_leadactor(); $movie_details .=
  10. $movie_footer MOVIE; echo “There are $num_movies movies in our database”; echo $movie; ?> Kết quả như Hình 4.2.2. Hình 4.2.2. Cách thức hoạt động: Với việc thêm vào hàm get_director và get_leadactor tập lệnh yêu cầu những thông tin đặt biệt từ server cho mỗi dòng trên bảng. Điều này có thể cho bạn điền đầy đủ thông tin từ một đống hỗn độn trong truy vấn gốc, bạn có thể làm sạch những định dạng trong 2 dòng trước với sự thay đổi trong đoạn mã gần kết kết thúc của tập lệnh. Cấu hình: Bạn đã thành công trong việc phát triển sức mạnh về tập lệnh, nó sẽ là cơ sở dữ liệu truy vấn và đặt nội dung vào bảng HTML. Cho chính bạn thấy ánh sáng trong bóng tối, nhưng giống tất cả những trình duyệt tốt , chúng ta phải đi về phía trước.
Đồng bộ tài khoản