SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Lập trình và Thiết kế Web 1
© 2007 Khoa Công nghệ thông tin
KhoaKhoa CNTTCNTT –– ĐHĐH.KHTN.KHTN
Bài 9
ThaoThao ttáácc CSDLCSDL vvớớii PHPPHP
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
Nội dung
Các bước thao tác với CSDL
Một số vấn đề khi thao tác với CSDL
Mộ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ệu
Thao tác với các Hệ Quản trị CSDL khác
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
Nội dung
Các bước thao tác với CSDL
Một số vấn đề khi thao tác với CSDL
Mộ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ệu
Thao tác với các Hệ Quản trị CSDL khác
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
Các bước thao tác CSDL trong PHP
1. Kết nối với CSDL
2. Xây dựng câu truy vấn dữ liệu
3. Thực thi câu truy vấn
4. Xử lí kết quả trả về từ câu truy vấn SELECT
5. Ngắt kết nối với CSDL
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
Các bước thao tác CSDL trong PHP
1. Kết nối với CSDL
2. Xây dựng câu truy vấn dữ liệu
3. Thực thi câu truy vấn
4. Xử lí kết quả trả về từ câu truy vấn SELECT
5. Ngắt kết nối với CSDL
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
1. Tạo Kết nối CSDL
Kế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);
?>
DatabaseApplication
Connection
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
Các bước thao tác CSDL trong PHP
1. Kết nối với CSDL
2. Xây dựng câu truy vấn dữ liệu
3. Thực thi câu truy vấn
4. Xử lí kết quả trả về từ câu truy vấn SELECT
5. Ngắt kết nối với CSDL
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
www.example.com
Webserver
2. Xây dựng câu truy vấn
Yêu cầu trang xlDangnhap.php
Textbox : txtDangnhap
Password Box: txtMatkhau
txtMatkhau = 123
txtDangnhap = admin
Database
Server
strSQL = “SELECT *
FROM Users
WHERE UserName =
‘admin’ and Password =
‘123’ “
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
2. 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' “
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
Các bước thao tác CSDL trong PHP
1. Kết nối với CSDL
2. Xây dựng câu truy vấn dữ liệu
3. Thực thi câu truy vấn
4. Xử lí kết quả trả về từ câu truy vấn SELECT
5. Ngắt kết nối với CSDL
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
3. Thực thi câu truy vấn
resource 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);
?>
Application
Connection 011010011011010011
query
Database
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
Các bước thao tác CSDL trong PHP
1. Kết nối với CSDL
2. Xây dựng câu truy vấn dữ liệu
3. Thực thi câu truy vấn
4. Xử lí kết quả trả về từ câu truy vấn SELECT
5. Ngắt kết nối với CSDL
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
4. 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 FIELD
echo $row[“UserName”];
Hoặc
echo $row[0];
UserName Password
A AA
B BB
C CC
D DD
… …
X XX
Y YY
Z ZZ
cursor
Ví dụ: Xuất records từ CSDL ra trang HTML
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
Các bước thao tác CSDL trong PHP
1. Kết nối với CSDL
2. Xây dựng câu truy vấn dữ liệu
3. Thực thi câu truy vấn
4. Xử lí kết quả trả về từ câu truy vấn SELECT
5. Ngắt kết nối với CSDL
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
5. Ngắt kết nối dữ liệu
int mysql_close([resource connection])
Tự động thực thi khi kết thúc mã lệnh
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
Tổ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 ve
while ($row = mysql_fetch_array($result))
{
for ($i=0; $i<mysql_num_fields($result); $i++)
echo $row[$i] . " ";
}
// 5. Dong ket noi
mysql_close($connection);
?>
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
Một số hàm thao tác với CSDL MySQL
int 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])
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
Nội dung
Các bước thao tác với CSDL
Một số vấn đề khi thao tác với CSDL
Mộ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ệu
Thao tác với các Hệ Quản trị CSDL khác
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
Một số vấn đề - MySQL & Font Unicode
Font UNICODE
<?php
mysql_query(“set names ‘utf-8’”);
?>
Encode
Decode
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
Một số vấn đề - Xử lý lỗi
int mysql_errno(resource connection)
string mysql_error(resource connection)
<?php
function 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( );
?>
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
Một số vấn đề - Include File
<?php
$hostName = "localhost";
$databaseName = "bookstoreDB";
$username = "root";
$password = "root";
?>
<?php
function showError( )
{
die("Error " . mysql_errno( ) . " : " . mysql_error( ));
}
?>
<?php
include ‘db.inc’;
include ‘error.inc’;
?>
db.inc
error.inc
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
Nội dung
Các bước thao tác với CSDL
Một số vấn đề khi thao tác với CSDL
Mộ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ệu
Thao tác với các Hệ Quản trị CSDL khác
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
Nội dung
Các bước thao tác với CSDL
Một số vấn đề khi thao tác với CSDL
Mộ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ệu
Thao tác với các Hệ Quản trị CSDL khác
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
Một số ví dụ:
Trình bày dữ liệu ra trang Web – Tìm kiếm & Sắp xếp
Tìm kiếm
Xuất dữ liệu thoả điều kiện
Sắp xếp records theo tên trường
Cho phép người dùng chon cột để sắp xếp
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
Nội dung
Các bước thao tác với CSDL
Một số vấn đề khi thao tác với CSDL
Mộ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ệu
Thao tác với các Hệ Quản trị CSDL khác
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
Một số ví dụ:
Tổng hợp Thêm, Xóa và Sửa dữ liệu
Add
Delete
Edit
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
Nội dung
Các bước thao tác với CSDL
Một số vấn đề khi thao tác với CSDL
Mộ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ệu
Thao tác với các Hệ Quản trị CSDL khác
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
Một số ví dụ:
Phân trang dữ liệu
Trường hợp dữ liệu lấy về có quá nhiều mẫu tin (hiển thị bảng
quá 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);
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
Phâ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ụ
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
Nội dung
Các bước thao tác với CSDL
Một số vấn đề khi thao tác với CSDL
Mộ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ệu
Thao tác với các Hệ Quản trị CSDL khác
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
Thao 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 ve
while ($row = mssql_fetch_array($result))
{
for ($i=0; $i<mssql_num_fields($result); $i++)
echo $row[$i] . " ";
}
// 5. Dong ket noi
mssql_close($connection);
?>
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
Thao 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 ve
while (odbc_fetch_row($result))
{
for ($i=1; $i<=odbc_num_fields($result); $i++)
echo odbc_result($result, $i) . " ";
}
// 5. Dong ket noi
odbc_close($connection);
?>
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
© 2007 Khoa CNTT - ĐHKHTN
Thao 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 ve
while (!$rs->EOF) {
echo $rs->Fields[‘FieldName']->Value . " ";
$rs->MoveNext() ;
}
// 5. Dong ket noi
$rs->Close() ;
$conn->Close() ;
?>

Weitere ähnliche Inhalte

Was ist angesagt? (7)

Slide 00 gioi thieu
Slide 00   gioi thieuSlide 00   gioi thieu
Slide 00 gioi thieu
 
Web301 slide 1
Web301   slide 1Web301   slide 1
Web301 slide 1
 
07 web course 1 php co ban
07 web course   1 php co ban07 web course   1 php co ban
07 web course 1 php co ban
 
Lesson 19.xml
Lesson 19.xmlLesson 19.xml
Lesson 19.xml
 
Php03 php trong-laptrinhwebdong
Php03 php trong-laptrinhwebdongPhp03 php trong-laptrinhwebdong
Php03 php trong-laptrinhwebdong
 
Hỏi tình hình bk tiny bktiny-hdsd
Hỏi tình hình bk tiny   bktiny-hdsdHỏi tình hình bk tiny   bktiny-hdsd
Hỏi tình hình bk tiny bktiny-hdsd
 
Lập trình web - HTML cơ bản
Lập trình web - HTML cơ bảnLập trình web - HTML cơ bản
Lập trình web - HTML cơ bản
 

Ähnlich wie Web course php & csdl

Kiến thức cần thiết làm việc
Kiến thức cần thiết làm việcKiến thức cần thiết làm việc
Kiến thức cần thiết làm việc
manhvokiem
 
Web course php co ban
Web course   php co banWeb course   php co ban
Web course php co ban
慂 志慂
 
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
zzsunzz
 
bai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.pptbai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.ppt
HungHuyNguyen3
 
00 overview of_sql_server
00 overview of_sql_server00 overview of_sql_server
00 overview of_sql_server
thai
 
Nội dung khóa học Nukeviet
Nội dung khóa học NukevietNội dung khóa học Nukeviet
Nội dung khóa học Nukeviet
CuoiMetagame
 

Ähnlich wie Web course php & csdl (20)

Kiến thức cần thiết làm việc
Kiến thức cần thiết làm việcKiến thức cần thiết làm việc
Kiến thức cần thiết làm việc
 
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
 
Qt he co so du lieu
Qt he co so du lieuQt he co so du lieu
Qt he co so du lieu
 
Web course php co ban
Web course   php co banWeb course   php co ban
Web course php co ban
 
Bài 2 - Công nghệ ADO.NET với C#
Bài 2 - Công nghệ ADO.NET với C#Bài 2 - Công nghệ ADO.NET với C#
Bài 2 - Công nghệ ADO.NET với C#
 
Aspnet 3.5 _02
Aspnet 3.5 _02Aspnet 3.5 _02
Aspnet 3.5 _02
 
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
 
bai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.pptbai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.ppt
 
Bai th08 php voi csdl
Bai th08 php voi csdlBai th08 php voi csdl
Bai th08 php voi csdl
 
01 tong-quan-ado
01 tong-quan-ado01 tong-quan-ado
01 tong-quan-ado
 
00 overview of_sql_server
00 overview of_sql_server00 overview of_sql_server
00 overview of_sql_server
 
01-Gioithieu.pdf
01-Gioithieu.pdf01-Gioithieu.pdf
01-Gioithieu.pdf
 
Cs06
Cs06Cs06
Cs06
 
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTBài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
 
Bai 1 lam quen voi sql 2008
Bai 1 lam quen voi sql 2008Bai 1 lam quen voi sql 2008
Bai 1 lam quen voi sql 2008
 
Web201 slide 7
Web201   slide 7Web201   slide 7
Web201 slide 7
 
Nội dung khóa học Nukeviet
Nội dung khóa học NukevietNội dung khóa học Nukeviet
Nội dung khóa học Nukeviet
 
04 ado
04 ado04 ado
04 ado
 
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
 
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webBài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
 

Web course php & csdl

  • 1. Lập trình và Thiết kế Web 1 © 2007 Khoa Công nghệ thông tin KhoaKhoa CNTTCNTT –– ĐHĐH.KHTN.KHTN Bài 9 ThaoThao ttáácc CSDLCSDL vvớớii PHPPHP
  • 2. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN Nội dung Các bước thao tác với CSDL Một số vấn đề khi thao tác với CSDL Mộ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ệu Thao tác với các Hệ Quản trị CSDL khác
  • 3. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN Nội dung Các bước thao tác với CSDL Một số vấn đề khi thao tác với CSDL Mộ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ệu Thao tác với các Hệ Quản trị CSDL khác
  • 4. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN Các bước thao tác CSDL trong PHP 1. Kết nối với CSDL 2. Xây dựng câu truy vấn dữ liệu 3. Thực thi câu truy vấn 4. Xử lí kết quả trả về từ câu truy vấn SELECT 5. Ngắt kết nối với CSDL
  • 5. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN Các bước thao tác CSDL trong PHP 1. Kết nối với CSDL 2. Xây dựng câu truy vấn dữ liệu 3. Thực thi câu truy vấn 4. Xử lí kết quả trả về từ câu truy vấn SELECT 5. Ngắt kết nối với CSDL
  • 6. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN 1. Tạo Kết nối CSDL Kế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); ?> DatabaseApplication Connection
  • 7. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN Các bước thao tác CSDL trong PHP 1. Kết nối với CSDL 2. Xây dựng câu truy vấn dữ liệu 3. Thực thi câu truy vấn 4. Xử lí kết quả trả về từ câu truy vấn SELECT 5. Ngắt kết nối với CSDL
  • 8. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN www.example.com Webserver 2. Xây dựng câu truy vấn Yêu cầu trang xlDangnhap.php Textbox : txtDangnhap Password Box: txtMatkhau txtMatkhau = 123 txtDangnhap = admin Database Server strSQL = “SELECT * FROM Users WHERE UserName = ‘admin’ and Password = ‘123’ “
  • 9. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN 2. 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. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN Các bước thao tác CSDL trong PHP 1. Kết nối với CSDL 2. Xây dựng câu truy vấn dữ liệu 3. Thực thi câu truy vấn 4. Xử lí kết quả trả về từ câu truy vấn SELECT 5. Ngắt kết nối với CSDL
  • 11. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN 3. Thực thi câu truy vấn resource 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); ?> Application Connection 011010011011010011 query Database
  • 12. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN Các bước thao tác CSDL trong PHP 1. Kết nối với CSDL 2. Xây dựng câu truy vấn dữ liệu 3. Thực thi câu truy vấn 4. Xử lí kết quả trả về từ câu truy vấn SELECT 5. Ngắt kết nối với CSDL
  • 13. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN 4. 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 FIELD echo $row[“UserName”]; Hoặc echo $row[0]; UserName Password A AA B BB C CC D DD … … X XX Y YY Z ZZ cursor Ví dụ: Xuất records từ CSDL ra trang HTML
  • 14. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN Các bước thao tác CSDL trong PHP 1. Kết nối với CSDL 2. Xây dựng câu truy vấn dữ liệu 3. Thực thi câu truy vấn 4. Xử lí kết quả trả về từ câu truy vấn SELECT 5. Ngắt kết nối với CSDL
  • 15. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN 5. Ngắt kết nối dữ liệu int mysql_close([resource connection]) Tự động thực thi khi kết thúc mã lệnh
  • 16. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN Tổ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 ve while ($row = mysql_fetch_array($result)) { for ($i=0; $i<mysql_num_fields($result); $i++) echo $row[$i] . " "; } // 5. Dong ket noi mysql_close($connection); ?>
  • 17. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN Một số hàm thao tác với CSDL MySQL int 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. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN Nội dung Các bước thao tác với CSDL Một số vấn đề khi thao tác với CSDL Mộ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ệu Thao tác với các Hệ Quản trị CSDL khác
  • 19. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN Một số vấn đề - MySQL & Font Unicode Font UNICODE <?php mysql_query(“set names ‘utf-8’”); ?> Encode Decode
  • 20. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN Một số vấn đề - Xử lý lỗi int mysql_errno(resource connection) string mysql_error(resource connection) <?php function 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. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN Một số vấn đề - Include File <?php $hostName = "localhost"; $databaseName = "bookstoreDB"; $username = "root"; $password = "root"; ?> <?php function showError( ) { die("Error " . mysql_errno( ) . " : " . mysql_error( )); } ?> <?php include ‘db.inc’; include ‘error.inc’; ?> db.inc error.inc
  • 22. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN Nội dung Các bước thao tác với CSDL Một số vấn đề khi thao tác với CSDL Mộ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ệu Thao tác với các Hệ Quản trị CSDL khác
  • 23. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN Nội dung Các bước thao tác với CSDL Một số vấn đề khi thao tác với CSDL Mộ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ệu Thao tác với các Hệ Quản trị CSDL khác
  • 24. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN Một số ví dụ: Trình bày dữ liệu ra trang Web – Tìm kiếm & Sắp xếp Tìm kiếm Xuất dữ liệu thoả điều kiện Sắp xếp records theo tên trường Cho phép người dùng chon cột để sắp xếp
  • 25. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN Nội dung Các bước thao tác với CSDL Một số vấn đề khi thao tác với CSDL Mộ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ệu Thao tác với các Hệ Quản trị CSDL khác
  • 26. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN Một số ví dụ: Tổng hợp Thêm, Xóa và Sửa dữ liệu Add Delete Edit
  • 27. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN Nội dung Các bước thao tác với CSDL Một số vấn đề khi thao tác với CSDL Mộ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ệu Thao tác với các Hệ Quản trị CSDL khác
  • 28. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN Một số ví dụ: Phân trang dữ liệu Trường hợp dữ liệu lấy về có quá nhiều mẫu tin (hiển thị bảng quá 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. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN Phâ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. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN Nội dung Các bước thao tác với CSDL Một số vấn đề khi thao tác với CSDL Mộ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ệu Thao tác với các Hệ Quản trị CSDL khác
  • 31. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN Thao 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 ve while ($row = mssql_fetch_array($result)) { for ($i=0; $i<mssql_num_fields($result); $i++) echo $row[$i] . " "; } // 5. Dong ket noi mssql_close($connection); ?>
  • 32. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN Thao 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 ve while (odbc_fetch_row($result)) { for ($i=1; $i<=odbc_num_fields($result); $i++) echo odbc_result($result, $i) . " "; } // 5. Dong ket noi odbc_close($connection); ?>
  • 33. Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP © 2007 Khoa CNTT - ĐHKHTN Thao 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 ve while (!$rs->EOF) { echo $rs->Fields[‘FieldName']->Value . " "; $rs->MoveNext() ; } // 5. Dong ket noi $rs->Close() ; $conn->Close() ; ?>