Sơ lược về web Các trang web hiển thị trên trình duyệt được mô tả bằng ngôn ngữ HTML HTML là một ngôn ngữ đánh dấu, dùng các thẻ tag và thuộc tính attribute để mô tả các đối tượng tr
Trang 1MySQL & PHP
Trang 2Sơ lược về web
Các trang web hiển thị trên trình duyệt được mô tả bằng ngôn ngữ HTML
HTML là một ngôn ngữ đánh dấu, dùng các thẻ (tag) và thuộc tính (attribute) để mô tả các đối tượng trong văn bản cần hiển thị
Mỗi đối tượng được bao bởi một thẻ mở <tag> và một thẻ đóng
</tag> Nếu trong đối tượng không chứa gì, có thể viết gộp thẻ đóng và thẻ mở làm một: <tag/>
Thuộc tính được định nghĩa trong thẻ mở:
<tag attr1="value1" attr2="value2"> </tag>
Các đối tượng có thể được định nghĩa lồng nhau
Ví dụ:
<p style="color:red">text</p>: mô tả một đoạn văn bản
<img src="banner.jpg" width="250px" height="100px" />: mô tả một bức ảnh
Trang 3Cấu trúc một trang web
Một trang web là một file văn bản có cấu trúc cơ bản như sau:
<html>
<head>
<title>Tiêu đề trang web</title>
</head>
<body>
<p>Nội dung</p>
<img src="logo.jpg" />
</body>
</html>
Các thẻ cơ bản:
<html>: chứa toàn bộ các phần tử của trang web
<head>: chứa các thông tin về văn bản như tiêu đề, từ khoá,…
<title>: tiêu đề trang web
<body>: phần nội dung của trang web
Trang 4Web nội dung tĩnh
Các trang web bằng HTML có nội dung cố định
của trang web
người dùng,… hay các điều kiện khác
Web nội dung động:
Web Service
(Apache, IIS,…)
Web Browser
(Firefox, Chrome,
IE, Webkit,…)
network
Trang 5Cơ chế hoạt động của web nội dung động
Web Script
(PHP, ASP, JSP,…)
Web Service
(Apache, IIS,…)
Web Browser
(Firefox, Chrome,
IE, Webkit,…)
Database
(MySQL,
MSSQL,…)
network
Trang 6Giới thiệu PHP
PHP
Nguyên tắc hoạt động:
echo()
<?php //
?>
Trang 7Ví dụ một PHP script
<?php
$title = 'Tiêu đề trang web';
$logo_img = 'logo.jpg';
?>
<html>
<head>
<title> <?php print($title); ?> </title>
</head>
<body>
<p>Nội dung</p>
<img src=" <?php print($logo_img); ?> " />
</body>
</html>
Trang 8Một số khái niệm của PHP
Biến:
cố định
$x = 'Value: ' $x;
Mảng:
$a[$i] = 20*$i;
Chuỗi ký tự: dùng ' ' hoặc " "
$s2 = "Price: $s1"; // = "Price: $100"
print('<b>' $s2 '</b>');
Trang 9MySQL với PHP
PHP cung cấp sẵn một thư viện để truy cập các
CSDL sử dụng MySQL
Các tính năng và cáh sử dụng tương tự như thư
viện MySQL bằng ngôn ngữ C
Thiết lập kết nối
Kiểm tra lỗi
Trang 10Tham số của trang web với phương thức GET
Khái niệm:
Tương tự như việc các
chương trình có tham
số từ dòng lệnh, các
trang web cũng có các
tham số được cho ở
URL
PHP cho phép sử dụng các tham số này thông qua mảng
$HTTP_GET_VARS (với chỉ số là tên của tham số)
Ví dụ:
print('ID: ' $HTTP_GET_VARS['ID'] '<br/>'
'Name: ' $HTTP_GET_VARS['Name'] '<br/>' 'Sex: ' $HTTP_GET_VARS['Sex']);
Trang 11Sử dụng MySQL trong PHP
Trang 12Thiết lập và đóng kết nối
Thiết lập kết nối:
mysql_connect($server, $username, $password)
Trả về kết nối được thiết lập
Chọn CSDL làm việc:
mysql_select_db($db_name)
Đóng kết nối:
mysql_close($conn)
Ví dụ:
$server = '192.168.1.50';
$usr = 'abc';
$pwd = '12345';
$db_name = 'myweb';
$conn = mysql_connect($server, $usr, $pwd);
if ($conn == null) exit('Database error');
mysql_select_db($db_name);
// Do stuff
Trang 13Kiểm tra lỗi
Dùng các hàm sau để lấy thông tin về lỗi:
Ví dụ:
if ($conn == null) {
print('Error ' mysql_errno($conn)
': ' mysql_error($conn));
exit(1);
}
Trang 14Thực hiện câu truy vấn
Để thực hiện câu truy vấn, dùng hàm:
Các tham số:
Kết quả trả về:
SELECT: trả về kết quả
INSERT, UPDATE, DELETE, DROP: trả về TRUE
Trang 15Lấy kết quả trả về của câu lệnh SELECT
Sau khi thực hiện câu truy vấn, gọi hàm sau để lấy từng hàng kết quả:
MYSQL_ASSOC: chỉ số bằng tên thuộc tính
MYSQL_NUM: chỉ số bằng số thứ tự
MYSQL_BOTH: cả hai chỉ số
Cuối cùng, kết thúc và giải phóng bộ nhớ đệm chứa kết quả:
Di chuyển con trỏ đọc kết quả:
Trang 16Các thông tin về kết quả trả về
Số thuộc tính (trường) của kết quả:
Số hàng:
ID của dữ liệu mới được thêm (câu lệnh INSERT):
Số hàng đã bị thay đổi (câu lệnh INSERT, UPDATE,…)
Trang 17Ví dụ - SELECT
$result = mysql_query('select ID, NICKNAME, NAME from
USER‘, $conn);
if ($result == FALSE) handle_error($conn);
$row = mysql_fetch_array($result, MYSQL_NUM);
$num_rows = mysql_num_rows($result);
print('Number of rows: ' $num_rows '<br/>');
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { print('ID: ' $row['ID'] ', '
'Nickname: ' $row['NICKNAME'] ', '
'Name: ' $row['NAME'] '<br/>');
}
mysql_free_result(result);
Trang 18Ví dụ - INSERT
if (mysql_query(" insert into
USER(username, password, level)
== FALSE) handle_error($conn);
print(mysql_affected_rows($conn)
' rows added<br/>');
print('ID of inserted user: '
mysql_insert_id($conn));
Trang 19Ví dụ - UPDATE
if (mysql_query(' update USER
set level = 5
handle_error($conn);
print(mysql_affected_rows($conn)
' rows updated');
Trang 20Bài tập
1 Định nghĩa một quan hệ SinhVien, sau đó viết một
chương trình PHP thêm vào CSDL một sinh viên
và in ra ID của sinh viên vừa được thêm
2 Viết chương trình PHP nhập ID của một sinh viên
và in ra thông tin của sinh viên đó
3 Viết chương trình PHP nhập tên của sinh viên và in
ra thông tin những người có tên như đã nhập