Lập trình web với PHP - p26
Số trang: 7
Loại file: pdf
Dung lượng: 288.91 KB
Lượt xem: 16
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Chương 6 : CHO PHÉP NGƢỜI SỬ DỤNG SOẠN THẢO CƠ SỞ DỮ LIỆUXóa một mẩu tinXóa một mẩu tin thì dễ dàng. Như đã đề cập từ trước, luôn phải kiểm tra truy vấn trong cơ sở dữ liệu thử nghiệm. Việc xóa một mẩu tin trong cơ sở dữ liệu thử nghiệm không bao giờ là mối đe dọa cho hệ thống của bạn. Và việc kiểm tra truy vấn giúp bạn tìm ra những lỗi SQL trước khi xóa tất cả các mẩu tin trong cơ sở dữ liệu bởi vì bạn quên một vài thứ như...
Nội dung trích xuất từ tài liệu:
Lập trình web với PHP - p26 Chương 6 : CHO PHÉP NGƢỜI SỬ DỤNG SOẠN THẢO CƠ SỞ DỮ LIỆU Nhận dữ liệu từ cơ sở dữ liệu khi cung cấp một vài dữ liệu cho cơ sở dữ liệu.Nhưng cơ sở dữ liệu thì không tạo ra nội dung mà chỉ lấy dữ liệu từ hệ thống khác. Điềunày có nghĩa là bạn phải tạo hệ thống dữ liệu từ PHP. Tất cả cơ sở dữ liệu tương tác dựa trên SQL. Bạn biết là cú pháp SQL lấy dữ liệutừ mảng. Hầu hết mọi người dùng SQL để chèn dữ liệu mà PHP sửa đổi hoặc tạo ra. Chương này đề cập đến soạn thảo cơ sở dữ liệu, bao gồm:. Thêm: điều này thì đơn giản, nhưng bạn sẽ tìm để thêm vào trong một cơ sở dữ liệu Xóa: không sửa đổi lại cấu trúc cơ sở dữ liệu và có liên quan đến tính toàn vẹn. Sữa đổi: thay thế một vài vùng soạn thảo với nội dung mới trong một hồ sơ có sẵn. Xóa một mẩu tin Xóa một mẩu tin thì dễ dàng. Như đã đề cập từ trước, luôn phải kiểm tra truy vấntrong cơ sở dữ liệu thử nghiệm. Việc xóa một mẩu tin trong cơ sở dữ liệu thử nghiệmkhông bao giờ là mối đe dọa cho hệ thống của bạn. Và việc kiểm tra truy vấn giúp bạntìm ra những lỗi SQL trước khi xóa tất cả các mẩu tin trong cơ sở dữ liệu bởi vì bạn quênmột vài thứ như câu lệnh WHERE. MySQL xóa những thứ thỏa câu lệnh SQL. Xóa có nghĩa là mất dữ liệu. Để xóa một mẩu tin bạn cần biết vị trí của mẩu tintrong cơ sở dữ liệu thông qua một tập hợp các câu lệnh điều kiện WHERE. Mỗi lần câulệnh được thực thi mẩu tin sẽ bị xóa, không thể quay lại. Mẩu tin bị xóa không hy vọngtrả lại. Đây là điều cần lưu ý khi sử dụng câu lệnh DELETE. Ví dụ: Xóa mẩu tin đơn giản Trước khi bảo PHP xóa mọi thứ, bạn nên thử xóa một mẩu tin từ phpMyAdmin vớicâu lệnh DELETE.1. Mở phpMyAdmin và nhập đoạn mã sau: DELETE FROM movie WHERE movie_id = 12 LIMIT 12. phpMyAdmin trả lại thông báo rằng bạn xóa một mẩu tin từ bảng Cách thức hoạt động Câu lệnh DELETE SQL sử dụng rất đơn giản, bạn sử dụng câu lệnh LIMIT 1 đểgiới hạn xóa một mẩu tin. Một cơ sở dữ liệu thường chứa những mẫu tin liên quan với nhau trong nhữngbảng khác nhau. Xóa một vài mẫu tin không xem xét quan hệ của chúng, làm cho bạnkhó hiểu. Không may là MySQL không duy trì tính toàn vẹn. Để tránh vấn đề này bạn có thể dùng form phức tạp hơn của câu lệnhDELETE,Cascade Delete, như đề cập trong phần sau Ví dụ:Cascade Delete Bây giờ bạn đã biết cách sử dụng DELETE, bạn sẽ thêm nó vào hệ thống để xóathông tin một người từ hệ thống. Khi bạn lưu trữ quan hệ một người trong bảng movie,bạn cần cập nhật nội dung của bảng, vì vậy bạn không cần xóa những gì liên quan tớingười. Xóa một người giống như cách mở khóa xe và mong đợi bãi giữ xe trống. Bạn cầnđể chắc chắn không liên quan đến việc xóa các mẩu tin còn lại. Sau đây là những bước thực thi Cascade Delete:1. Tạo một file mới với tên delete.php và nhập đoạn mã sau: or die ( mysql_error()); // DELETE SCRIPT if (!isset($_GET[„do‟]) || $_GET[„do‟] != 1) {?> Are you sure you want to delete this ? } // SQL chung $sql = “DELETE FROM “ . $_GET[„type‟] . “ WHERE “ . $_GET[„type‟] . “_id = „“ . $_GET[„id‟] . “„ LIMIT 1”; // xuất SQL cho mục đích echo “”; $result = mysql_query($sql) or die(“Invalid query: “ . mysql_error()); ?> Your has been deleted. Index 2. Lưu delete.php vào thư mục chap6.3. Mở index.php trên trình duyệt. bạn sẽ thấy DELETE những liên kết tiếp sau mỗi filmhoặc người như Hình 6.4.1 Hình 6.4.14. Thử xóa film mà bạn đã thêm vào ở bài tập trước bởi việc click vào liên kếtDELETE trên hàng “Test” movie name. Bạn sẽ thấy như Hình 6.4.2 . Hình 6.4.25. Click vào liên kết “yes” để xác nhân việc xóa và đợi thông báo xác nhận như Hình6.4.3 Hình 6.4.3 Cách thức hoạt động Ở đây là kế hoạch tiêu diệt 1 tập hợp vô tội của dữ liệu. Đặt nó sang một bên,chúng ta hay xem tập lệnh này hoạt động như thế nào. Đầu tiên, bạn cần hiểu rằng bạn không thể xóa mẩu tin trong cơ sở dữ liệu và phảiquên chúng đi. Việc xóa được xem xét cẩn thận. Ví dụ nếu xóa một người từ bảngpeople, điều này ngăn cản bạn từ việc tìm ra một khả năng có liên quan đến người trongbảng movie. Nếu bạn xóa Jim Carrey từ bảng people, ai sẽ lãnh đạo diễn viên BruceAlmight? Nếu bạn không làm mọi thứ, id của Jim Carrey‟s sẽ còn lại trong mẩu tin và bạnsẽ có một cơ sở dữ liệu bị sữa đổi. Bạn không muốn điều này đúng không (câu trả lời làkhông) Để giải quyết vấn đề này thì để chắc rằng bạn luôn có một khóa ngoại trong mẩutin. Trong đoạn mã sau bạn c ...
Nội dung trích xuất từ tài liệu:
Lập trình web với PHP - p26 Chương 6 : CHO PHÉP NGƢỜI SỬ DỤNG SOẠN THẢO CƠ SỞ DỮ LIỆU Nhận dữ liệu từ cơ sở dữ liệu khi cung cấp một vài dữ liệu cho cơ sở dữ liệu.Nhưng cơ sở dữ liệu thì không tạo ra nội dung mà chỉ lấy dữ liệu từ hệ thống khác. Điềunày có nghĩa là bạn phải tạo hệ thống dữ liệu từ PHP. Tất cả cơ sở dữ liệu tương tác dựa trên SQL. Bạn biết là cú pháp SQL lấy dữ liệutừ mảng. Hầu hết mọi người dùng SQL để chèn dữ liệu mà PHP sửa đổi hoặc tạo ra. Chương này đề cập đến soạn thảo cơ sở dữ liệu, bao gồm:. Thêm: điều này thì đơn giản, nhưng bạn sẽ tìm để thêm vào trong một cơ sở dữ liệu Xóa: không sửa đổi lại cấu trúc cơ sở dữ liệu và có liên quan đến tính toàn vẹn. Sữa đổi: thay thế một vài vùng soạn thảo với nội dung mới trong một hồ sơ có sẵn. Xóa một mẩu tin Xóa một mẩu tin thì dễ dàng. Như đã đề cập từ trước, luôn phải kiểm tra truy vấntrong cơ sở dữ liệu thử nghiệm. Việc xóa một mẩu tin trong cơ sở dữ liệu thử nghiệmkhông bao giờ là mối đe dọa cho hệ thống của bạn. Và việc kiểm tra truy vấn giúp bạntìm ra những lỗi SQL trước khi xóa tất cả các mẩu tin trong cơ sở dữ liệu bởi vì bạn quênmột vài thứ như câu lệnh WHERE. MySQL xóa những thứ thỏa câu lệnh SQL. Xóa có nghĩa là mất dữ liệu. Để xóa một mẩu tin bạn cần biết vị trí của mẩu tintrong cơ sở dữ liệu thông qua một tập hợp các câu lệnh điều kiện WHERE. Mỗi lần câulệnh được thực thi mẩu tin sẽ bị xóa, không thể quay lại. Mẩu tin bị xóa không hy vọngtrả lại. Đây là điều cần lưu ý khi sử dụng câu lệnh DELETE. Ví dụ: Xóa mẩu tin đơn giản Trước khi bảo PHP xóa mọi thứ, bạn nên thử xóa một mẩu tin từ phpMyAdmin vớicâu lệnh DELETE.1. Mở phpMyAdmin và nhập đoạn mã sau: DELETE FROM movie WHERE movie_id = 12 LIMIT 12. phpMyAdmin trả lại thông báo rằng bạn xóa một mẩu tin từ bảng Cách thức hoạt động Câu lệnh DELETE SQL sử dụng rất đơn giản, bạn sử dụng câu lệnh LIMIT 1 đểgiới hạn xóa một mẩu tin. Một cơ sở dữ liệu thường chứa những mẫu tin liên quan với nhau trong nhữngbảng khác nhau. Xóa một vài mẫu tin không xem xét quan hệ của chúng, làm cho bạnkhó hiểu. Không may là MySQL không duy trì tính toàn vẹn. Để tránh vấn đề này bạn có thể dùng form phức tạp hơn của câu lệnhDELETE,Cascade Delete, như đề cập trong phần sau Ví dụ:Cascade Delete Bây giờ bạn đã biết cách sử dụng DELETE, bạn sẽ thêm nó vào hệ thống để xóathông tin một người từ hệ thống. Khi bạn lưu trữ quan hệ một người trong bảng movie,bạn cần cập nhật nội dung của bảng, vì vậy bạn không cần xóa những gì liên quan tớingười. Xóa một người giống như cách mở khóa xe và mong đợi bãi giữ xe trống. Bạn cầnđể chắc chắn không liên quan đến việc xóa các mẩu tin còn lại. Sau đây là những bước thực thi Cascade Delete:1. Tạo một file mới với tên delete.php và nhập đoạn mã sau: or die ( mysql_error()); // DELETE SCRIPT if (!isset($_GET[„do‟]) || $_GET[„do‟] != 1) {?> Are you sure you want to delete this ? } // SQL chung $sql = “DELETE FROM “ . $_GET[„type‟] . “ WHERE “ . $_GET[„type‟] . “_id = „“ . $_GET[„id‟] . “„ LIMIT 1”; // xuất SQL cho mục đích echo “”; $result = mysql_query($sql) or die(“Invalid query: “ . mysql_error()); ?> Your has been deleted. Index 2. Lưu delete.php vào thư mục chap6.3. Mở index.php trên trình duyệt. bạn sẽ thấy DELETE những liên kết tiếp sau mỗi filmhoặc người như Hình 6.4.1 Hình 6.4.14. Thử xóa film mà bạn đã thêm vào ở bài tập trước bởi việc click vào liên kếtDELETE trên hàng “Test” movie name. Bạn sẽ thấy như Hình 6.4.2 . Hình 6.4.25. Click vào liên kết “yes” để xác nhân việc xóa và đợi thông báo xác nhận như Hình6.4.3 Hình 6.4.3 Cách thức hoạt động Ở đây là kế hoạch tiêu diệt 1 tập hợp vô tội của dữ liệu. Đặt nó sang một bên,chúng ta hay xem tập lệnh này hoạt động như thế nào. Đầu tiên, bạn cần hiểu rằng bạn không thể xóa mẩu tin trong cơ sở dữ liệu và phảiquên chúng đi. Việc xóa được xem xét cẩn thận. Ví dụ nếu xóa một người từ bảngpeople, điều này ngăn cản bạn từ việc tìm ra một khả năng có liên quan đến người trongbảng movie. Nếu bạn xóa Jim Carrey từ bảng people, ai sẽ lãnh đạo diễn viên BruceAlmight? Nếu bạn không làm mọi thứ, id của Jim Carrey‟s sẽ còn lại trong mẩu tin và bạnsẽ có một cơ sở dữ liệu bị sữa đổi. Bạn không muốn điều này đúng không (câu trả lời làkhông) Để giải quyết vấn đề này thì để chắc rằng bạn luôn có một khóa ngoại trong mẩutin. Trong đoạn mã sau bạn c ...
Tìm kiếm theo từ khóa liên quan:
lập trình web giáo trình php thiết kế web với php tự học php lập trình phpGợi ý tài liệu liên quan:
-
[Thảo luận] Học PHP như thế nào khi bạn chưa biết gì về lập trình?
5 trang 131 0 0 -
161 trang 130 1 0
-
Bài giảng Lập trình web nâng cao: Chương 8 - Trường ĐH Văn Hiến
36 trang 116 1 0 -
MỘT SỐ ĐIỂM CẦN CHÚ Ý KHI THIẾT KẾ WEB
5 trang 111 0 0 -
GIÁO TRÌNH LẬP TRÌNH WEB_PHẦN 2_BÀI 3
3 trang 103 0 0 -
Lập Trình Web: Các trang quản trị trong PHP - GV: Trần Đình Nghĩa
8 trang 99 0 0 -
231 trang 92 1 0
-
101 trang 91 2 0
-
Bài giảng Lập trình web nâng cao: Chương 7 - Trường ĐH Văn Hiến
16 trang 66 1 0 -
Bài giảng Lập trình Web ASP.Net với C#: Chương 9 - Th.S Phạm Đào Minh Vũ
55 trang 50 0 0