Web course php & csdl

552
-1

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
552
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Web course php & csdl

  1. 1. Lập trình và Thiết kế Web 1© 2007 Khoa Công nghệ thông tinKhoaKhoa CNTTCNTT –– ĐHĐH.KHTN.KHTNBài 9ThaoThao ttáácc CSDLCSDL vvớớii PHPPHP
  2. 2. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNNội dungCác bước thao tác với CSDLMột số vấn đề khi thao tác với CSDLMột số ví dụ minh họa:– Tìm kiếm và sắp xếp– Tổng hợp Thêm, Xóa, Sửa– Phân trang dữ liệuThao tác với các Hệ Quản trị CSDL khác
  3. 3. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNNội dungCác bước thao tác với CSDLMột số vấn đề khi thao tác với CSDLMột số ví dụ minh họa:– Tìm kiếm và sắp xếp– Tổng hợp Thêm, Xóa, Sửa– Phân trang dữ liệuThao tác với các Hệ Quản trị CSDL khác
  4. 4. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNCác bước thao tác CSDL trong PHP1. Kết nối với CSDL2. Xây dựng câu truy vấn dữ liệu3. Thực thi câu truy vấn4. Xử lí kết quả trả về từ câu truy vấn SELECT5. Ngắt kết nối với CSDL
  5. 5. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNCác bước thao tác CSDL trong PHP1. Kết nối với CSDL2. Xây dựng câu truy vấn dữ liệu3. Thực thi câu truy vấn4. Xử lí kết quả trả về từ câu truy vấn SELECT5. Ngắt kết nối với CSDL
  6. 6. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTN1. Tạo Kết nối CSDLKết nối MySQL và Chọn CSDL– resource mysql_connect([string host], [string username],[string password])– int mysql_select_db (string database, [resource connection])<?php$connection = mysql_connect(“localhost",“root”,“root");mysql_select_db(“TestDB", $connection);?>DatabaseApplicationConnection
  7. 7. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNCác bước thao tác CSDL trong PHP1. Kết nối với CSDL2. Xây dựng câu truy vấn dữ liệu3. Thực thi câu truy vấn4. Xử lí kết quả trả về từ câu truy vấn SELECT5. Ngắt kết nối với CSDL
  8. 8. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNwww.example.comWebserver2. Xây dựng câu truy vấnYêu cầu trang xlDangnhap.phpTextbox : txtDangnhapPassword Box: txtMatkhautxtMatkhau = 123txtDangnhap = adminDatabaseServerstrSQL = “SELECT *FROM UsersWHERE UserName =‘admin’ and Password =‘123’ “
  9. 9. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTN2. Xây dựng câu truy vấn (tt)SQL Ví dụINSERT strSQL = "INSERT INTO Users (UserName, Password) VALUES (‘admin,‘123)“DELETE strSQL = "DELETE FROM Users WHERE UserName = ‘minh“UPDATE strSQL = "UPDATE Users SET Password = ‘abc WHERE UserName = ‘admin “SELECT strSQL = “SELECT * FROM Users WHERE UserName = ‘admin “
  10. 10. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNCác bước thao tác CSDL trong PHP1. Kết nối với CSDL2. Xây dựng câu truy vấn dữ liệu3. Thực thi câu truy vấn4. Xử lí kết quả trả về từ câu truy vấn SELECT5. Ngắt kết nối với CSDL
  11. 11. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTN3. Thực thi câu truy vấnresource mysql_query(string SQL_command, [resource connection])<?php$strSQL = "INSERT INTO Users (UserName, Password) VALUES (‘admin,‘123)“;mysql_query($strSQL);$strSQL = “SELECT * FROM Users“;$result = mysql_query($strSQL);?>ApplicationConnection 011010011011010011queryDatabase
  12. 12. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNCác bước thao tác CSDL trong PHP1. Kết nối với CSDL2. Xây dựng câu truy vấn dữ liệu3. Thực thi câu truy vấn4. Xử lí kết quả trả về từ câu truy vấn SELECT5. Ngắt kết nối với CSDL
  13. 13. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTN4. Xử lý kết quả trả vềHiển thị dữ liệu trả về– Sử dụng hàm$row = mysql_fetch_array($result)– Số lượng FIELD$num = mysql_num_fields($result);– Truy cập đến từng FIELDecho $row[“UserName”];Hoặcecho $row[0];UserName PasswordA AAB BBC CCD DD… …X XXY YYZ ZZcursorVí dụ: Xuất records từ CSDL ra trang HTML
  14. 14. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNCác bước thao tác CSDL trong PHP1. Kết nối với CSDL2. Xây dựng câu truy vấn dữ liệu3. Thực thi câu truy vấn4. Xử lí kết quả trả về từ câu truy vấn SELECT5. Ngắt kết nối với CSDL
  15. 15. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTN5. Ngắt kết nối dữ liệuint mysql_close([resource connection])Tự động thực thi khi kết thúc mã lệnh
  16. 16. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNTổng hợp các bước thao tác CSDL MySQL<?php// 1. Ket noi CSDL$connection = mysql_connect(“hostname",“username",“password");mysql_select_db(“database_name", $connection);// 2. Chuan bi cau truy van & 3. Thuc thi cau truy van$strSQL = "SELECT * FROM TableName”;$result = mysql_query($strSQL);// 4.Xu ly du lieu tra vewhile ($row = mysql_fetch_array($result)){for ($i=0; $i<mysql_num_fields($result); $i++)echo $row[$i] . " ";}// 5. Dong ket noimysql_close($connection);?>
  17. 17. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNMột số hàm thao tác với CSDL MySQLint mysql_data_seek(resource result_set, int row)array mysql_fetch_row(resource result_set)object mysql_fetch_object(resource result_set, [int result_type])int mysql_free_result(resource result_set)int mysql_num_rows(resource result_set)resource mysql_pconnect([string host:port], [string user],[string password])resource mysql_unbuffered_query(string query,[resource connection])object mysql_fetch_field(resource result_set, [int attribute_number])int mysql_affected_rows([resource connection])int mysql_insert_id([resource connection])
  18. 18. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNNội dungCác bước thao tác với CSDLMột số vấn đề khi thao tác với CSDLMột số ví dụ minh họa:– Tìm kiếm và sắp xếp– Tổng hợp Thêm, Xóa, Sửa– Phân trang dữ liệuThao tác với các Hệ Quản trị CSDL khác
  19. 19. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNMột số vấn đề - MySQL & Font UnicodeFont UNICODE<?phpmysql_query(“set names ‘utf-8’”);?>EncodeDecode
  20. 20. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNMột số vấn đề - Xử lý lỗiint mysql_errno(resource connection)string mysql_error(resource connection)<?phpfunction showerror( ) {die("Error " . mysql_errno( ) . " : " . mysql_error( ));}if (!($connection = @ mysql_connect("localhost", "fred","shhh")))die("Could not connect");If (!(mysql_select_db("winestor", $connection)))showerror( );?>
  21. 21. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNMột số vấn đề - Include File<?php$hostName = "localhost";$databaseName = "bookstoreDB";$username = "root";$password = "root";?><?phpfunction showError( ){die("Error " . mysql_errno( ) . " : " . mysql_error( ));}?><?phpinclude ‘db.inc’;include ‘error.inc’;?>db.incerror.inc
  22. 22. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNNội dungCác bước thao tác với CSDLMột số vấn đề khi thao tác với CSDLMột số ví dụ minh họa:– Tìm kiếm và sắp xếp– Tổng hợp Thêm, Xóa, Sửa– Phân trang dữ liệuThao tác với các Hệ Quản trị CSDL khác
  23. 23. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNNội dungCác bước thao tác với CSDLMột số vấn đề khi thao tác với CSDLMột số ví dụ minh họa:– Tìm kiếm và sắp xếp– Tổng hợp Thêm, Xóa, Sửa– Phân trang dữ liệuThao tác với các Hệ Quản trị CSDL khác
  24. 24. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNMột số ví dụ:Trình bày dữ liệu ra trang Web – Tìm kiếm & Sắp xếpTìm kiếmXuất dữ liệu thoả điều kiệnSắp xếp records theo tên trườngCho phép người dùng chon cột để sắp xếp
  25. 25. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNNội dungCác bước thao tác với CSDLMột số vấn đề khi thao tác với CSDLMột số ví dụ minh họa:– Tìm kiếm và sắp xếp– Tổng hợp Thêm, Xóa, Sửa– Phân trang dữ liệuThao tác với các Hệ Quản trị CSDL khác
  26. 26. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNMột số ví dụ:Tổng hợp Thêm, Xóa và Sửa dữ liệuAddDeleteEdit
  27. 27. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNNội dungCác bước thao tác với CSDLMột số vấn đề khi thao tác với CSDLMột số ví dụ minh họa:– Tìm kiếm và sắp xếp– Tổng hợp Thêm, Xóa, Sửa– Phân trang dữ liệuThao tác với các Hệ Quản trị CSDL khác
  28. 28. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNMột số ví dụ:Phân trang dữ liệuTrường hợp dữ liệu lấy về có quá nhiều mẫu tin (hiển thị bảngquá dài)Chia dữ liệu hiển thị trên nhiều trang– Số mẫu tin hiển thị trên 1 trang: $rowsPerPage– Số thứ tự trang hiển thị: $pageNum=1,2…– Chỉ số mẩu tin bắt đầu trong trang thứ $pageNum:$offset = ($pageNum - 1) * $rowsPerPage;– Tổng số mẫu tin trả về: $numRows– Tổng số trang hiển thị:$maxPage = ceil($numRows/$rowsPerPage);
  29. 29. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNPhân trang dữ liệu (tt)Các bước thực hiện phân trang–Tính các thông số phân trang–Lấy thông tin cần hiển thị–Hiển thị thông tin của trang hiện tại–Tạo liên kết chỉ đến các trang– Xem Ví dụ
  30. 30. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNNội dungCác bước thao tác với CSDLMột số vấn đề khi thao tác với CSDLMột số ví dụ minh họa:– Tìm kiếm và sắp xếp– Tổng hợp Thêm, Xóa, Sửa– Phân trang dữ liệuThao tác với các Hệ Quản trị CSDL khác
  31. 31. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNThao tác với Microsoft SQL Server<?php// 1. Ket noi CSDL$connection = mssql_connect(“hostname",“username",“password");mysql_select_db(“database_name", $connection);// 2. Chuan bi cau truy van & 3. Thuc thi cau truy van$strSQL = "SELECT * FROM TableName”;$result = mssql_query($strSQL);// 4.Xu ly du lieu tra vewhile ($row = mssql_fetch_array($result)){for ($i=0; $i<mssql_num_fields($result); $i++)echo $row[$i] . " ";}// 5. Dong ket noimssql_close($connection);?>
  32. 32. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNThao tác với Microsoft Access – Sử dụng ODBC<?php// 1. Ket noi CSDL$connection = odbc_connect("mobileDB","","");// 2. Chuan bi cau truy van & 3. Thuc thi cau truy van$strSQL = "SELECT * FROM TableName”;$result = odbc_exec ($connection, $strSQL);// 4.Xu ly du lieu tra vewhile (odbc_fetch_row($result)){for ($i=1; $i<=odbc_num_fields($result); $i++)echo odbc_result($result, $i) . " ";}// 5. Dong ket noiodbc_close($connection);?>
  33. 33. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP© 2007 Khoa CNTT - ĐHKHTNThao tác với Microsoft Access – Sử dụng ADO<?php// 1. Ket noi CSDL$db = "db/bookStoreDB.mdb";$conn = new COM("ADODB.Connection") ;$sql = "DRIVER={Microsoft Access Driver (*.mdb)} ;DBQ=". realpath($db) ." ; uid=; pwd=;" ;$conn->open($sql);// 2. Chuan bi cau truy van & 3. Thuc thi cau truy van$strSQL = "SELECT * FROM TableName”;$rs = $conn->execute($strSQL);// 4.Xu ly du lieu tra vewhile (!$rs->EOF) {echo $rs->Fields[‘FieldName]->Value . " ";$rs->MoveNext() ;}// 5. Dong ket noi$rs->Close() ;$conn->Close() ;?>

×