Bai 7 PHP ket noi CSDL MySQL
KHOA CÔNG NGHỆ THÔNG TIN – ĐẠI HỌC KHOA HỌC TỰ NHIÊN 2007 Authored by: Ngô Bá Nam Phương - Lương Vĩ Minh Bài 7 : PHP kết nối CSDL MySQL Môn : Lập trình và Thiết kế Web 1 1 Bài 7 : PHP kế t nố i CSDL MySQL | 9/26/2007 Bài 7 : PHP kết nối CSDL MySQL Môn : Lập trình và Thiết kế Web 1 Yêu cầu: Trong ứng dụng BookStore Online, xây dựng các chức năng Tìm kiếm, Thêm, Xóa, Cập nhật thông tin sách 1. Cấu trúc thư mục : Tạo thư mục có cấu trúc như sau trong thư mục C:\wamp\www\ để lưu website BookStoreOnline: C:\wamp\www\BookStoreOnline\ C:\wamp\www\BookStoreOnline\script\ : Chứa các file javascript C:\wamp\www\BookStoreOnline\css\ : Chứa các file định dạng css C:\wamp\www\BookStoreOnline\BookImages\ : Chứa ảnh bìa của các cuốn sách C:\wamp\www\BookStoreOnline\ : Chứa các trang .php, .html 2. Cấu trúc CSDL : Sử dụng MySQL, tạo CSDL gồm 3 bảng Book, Category, Publisher có cấu trúc như sau: a- Bảng Book : b- Bảng Category : 2 Bài 7 : PHP kế t nố i CSDL MySQL | 9/26/2007 c- Bảng Publisher : 3 Bài 7 : PHP kế t nố i CSDL MySQL | 9/26/2007 3. Tạo kết nối đến CSDL : Do đa số các trang web đều kết nối đến CSDL, do đó ta sẽ đóng gói việc kết nối với CSDL trong 1 class riêng để dễ dàng hơn trong việc sử dụng Tạo file DataProvider.php Lưu DataProvider.php trong thư mục C:\wamp\www\BookStoreOnline\ Khai báo class DataProvider trong DataProvider.php <?php class DataProvider { public static function ExecuteQuery($sql) { $connection = mysql_connect("localhost","root","") or die ("couldn't connect to localhost"); // ebookDB : Tên CSDL mysql_select_db("ebookDB",$connection); mysql_query("set names 'utf8'"); $result = mysql_query($sql,$connection); mysql_close($connection); return $result; } } ?> Các trang nào cần sử dụng class DataProvider sử dụng khai báo sau: <?php include_once("DataProvider.php"); ?> 4 Bài 7 : PHP kế t nố i CSDL MySQL | 9/26/2007 Để thực thi hàm static trong vsphp: Trong VS.PHP, từ cửa sổ Solution Explorer, chọn PHP Project R-Click Properties Chọn Configuration Manager Trong mục Active solution platform, chọn PHP 5: 5 Bài 7 : PHP kế t nố i CSDL MySQL | 9/26/2007 4. Sơ đồ hệ thống website cần xây dựng: 4.1. Trang chủ ( TrangChu.php ) TrangChu.php TimSach .php DangNhap.php xlTimSach.php ThemSach.php xlXoa.php CapNhat.php 6 Bài 7 : PHP kế t nố i CSDL MySQL | 9/26/2007 4.2. Trang đăng nhập ( DangNhap.php ) Mã lệnh <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Dang nhap he thong</title> </head> <body> <form name="formDangnhap" method="post" action="DangNhap.php"> <table width="400" border="0"> <tr> <td>Tên đăng nhập</td> <td> <input type="text" name="txtTenDangNhap"/> </td> </tr> <tr> <td>Mật khẩu</td> <td> <input type="password" name="txtMatKhau" /> </td> </tr> <tr> <td align="right"> <input type="submit" name="btnDangNhap" value="Đăng nhập" /> </td> <td> 7 Bài 7 : PHP kế t nố i CSDL MySQL | 9/26/2007 <input type="reset" name="btnLamLai" value="Làm lại" /> </td> </tr> <tr> <td ><a href="#">Trở về trang chủ</a></td> <td> </td> </tr> </table> </form> </body> </html> Bổ sung mã lệnh php xử lý việc đăng nhập trong trang DangNhap.php: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Dang nhap he thong</title> </head> <body> <?php $tenDangNhap = $_REQUEST["txtTenDangNhap"]; $matKhau = $_REQUEST["txtMatKhau"]; $ketQuaDangNhap = false; include_once("DataProvider.php"); $dsNguoiDung = DataProvider::ExecuteQuery("Select * From User"); if($dsNguoiDung != false) { while($row = mysql_fetch_array($dsNguoiDung,MYSQL_ASSOC)) { if($tenDangNhap == $row["UserName"] && $matKhau == $row["Password"]) { $ketQuaDangNhap = true; } } } if($ketQuaDangNhap == false) 8 Bài 7 : PHP kế t nố i CSDL MySQL | 9/26/2007 { ?> <form name="formDangnhap" method="post" action="DangNhap.php"> <table width="400" border="0"> <tr> <td>Tên đăng nhập</td> <td> <input type="text" name="txtTenDangNhap" /> </td> </tr> <tr> <td>Mật khẩu</td> <td><input type="password" name="txtMatKhau" /></td> </tr> <tr> <td align="right"> <input type="submit" name="btnDangNhap" value="Đăng nhập" /></td> <td <input type="reset" name="btnLamLai" value="Làm lại" /></td> </tr> <tr> <td ><a href="#">Trở về trang chủ</a></td> <td> </td> </tr> </table> </form> <?php } else { echo ("Xin chào " . $tenDangNhap); ?> <a href="TrangChu.php" >Trở về trang chủ</a> <?php } ?> </body> </html> 9 Bài 7 : PHP kế t nố i CSDL MySQL | 9/26/2007 4.3. Tìm sách (TimSach.php) & Xử lý tìm sách (xlTimsach.php) 1. Tìm sách <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Tim sach</title> </head> <body> <form name="form1" method="post" action="xlTimSach.php"> <table width="400" border="0"> <tr> <td>Tên sách</td> <td><input type="text" name="txtTenSach" id="txtTenSach" /></td> </tr> <tr> <td align="right"> <input type="submit" name="btnTim" id="btnTim" value="Tìm sách" /> </td> <td> <input type="reset" name="btnTimLai" value="Tìm lại" /> </td> </tr> <tr> [...]... < ?php echo($stt); Bài 7 : PHP kế t nố i CSDL MySQL | 9/26/20 07 Xóa 4 $stt++; ?> < ?php echo($maSach);?> < ?php echo($tenSach); ?> < ?php echo($giaTien); ?> Bài 7 : PHP kế t nố i CSDL MySQL | 9/26/20 07 5 Bài 7 : PHP kế t nố i CSDL MySQL | 9/26/20 07 { 6 Thêm một đầu sách mới Bài 7 : PHP kế t nố i CSDL MySQL | 9/26/20 07 7 4.4 Trang xử l y xóa sách ( xlXoa .php ) Xu ly Xoa sach < ?php $bookIDDeleted = $_REQUEST["BookIDDeleted"];... sách Giá tiền Xóa < ?php $stt = 1; while($row = mysql_fetch_array($dsSach,MYSQL_ASSOC)) { $maSach = $row["BookID"]; $tenSach = $row["BookTitle"]; $giaTien = $row["BookPrice"]; ?> < ?php echo($stt); $stt++; ?> Bài 7 : PHP kế t nố i CSDL MySQL | 9/26/20 07 1 < ?php echo($maSach); ?> .php" > Thêm một đầu sách mới Bài 7 : PHP kế t nố i CSDL MySQL | 9/26/20 07 2 3 Xử lý Phân trang xlTimsach .php Nhà xuất bản < ?php $dsNhaXuatBan = DataProvider::ExecuteQuery("Select * From Publisher"); if($dsNhaXuatBan != false) Bài 7 : PHP kế t nố i CSDL MySQL | 9/26/20 07 < ?php include_once("DataProvider .php" ); $dsTheLoai = DataProvider::ExecuteQuery("Select * From Category"); if ( $dsTheLoai != false ) { while ($row = mysql_fetch_array($dsTheLoai,MYSQL_ASSOC))... include_once("DataProvider .php" ); DataProvider::ExecuteQuery("Delete From Book Where BookID = " $bookIDDeleted); ?> Đã xóa thành công cuốn sách có mã là < ?php echo($bookIDDeleted); ?> Tiếp tục tìm kiếm Trở về trang chủ 4.5 Trang Thêm một đầu sách mới ( ThemSach .php ) Mã lệnh Bài 7 : PHP kế t nố i CSDL MySQL | 9/26/20 07 . Category : 2 Bài 7 : PHP kế t nố i CSDL MySQL | 9/26/20 07 c- Bảng Publisher : 3 Bài 7 : PHP kế t nố i CSDL MySQL | 9/26/20 07 3. Tạo kết nối đến CSDL : Do đa. 20 07 Authored by: Ngô Bá Nam Phương - Lương Vĩ Minh Bài 7 : PHP kết nối CSDL MySQL Môn : Lập trình và Thiết kế Web 1 1 Bài 7 : PHP kế t nố i CSDL MySQL