-----
Phần 106. Kết
hợp PHP – mySQL – thư viện PDO (tt)
Xem và làm theo clip số 13 của thầy Nguyễn Anh Tuấn:
Như vậy, tới đây đã biết được một số bước để làm việc với cơ
sở dữ liệu, như:
- Tạo một đối tượng PDO, kết nối tới cơ sở dữ liệu mySQL
- Tạo câu truy vấn
- Dùng đối tượng PDO để thực thi câu truy vấn, kết quả của
truy vấn được chứa trong một biến mảng của PHP
- Xuất biến mảng theo yêu cầu
- Đóng kết nối tới cơ sở dữ liệu mySQL
Trong clip 13 có sử dụng tới bảng user, vì vậy sẽ tạo thêm
bảng này và thêm một số mẩu tin vào để thực hành.
user
#
|
Name
|
Type
|
Collation
|
Attributes
|
Null
|
Default
|
Extra
|
1
|
id
|
int(11)
|
No
|
None
|
AUTO_INCREMENT
|
||
2
|
username
|
varchar(50)
|
No
|
None
|
|||
3
|
password
|
varchar(50)
|
No
|
None
|
|||
4
|
fullname
|
varchar(100)
|
utf8_unicode_ci
|
||||
5
|
birthday
|
date
|
No
|
None
|
|||
6
|
gender
|
boolean
|
No
|
None
|
|||
7
|
address
|
varchar(200)
|
utf8_unicode_ci
|
No
|
None
|
||
8
|
email
|
varchar(50)
|
No
|
None
|
|||
9
|
Identitycard
|
varchar(20)
|
No
|
None
|
|||
10
|
Phonenumber
|
varchar(20)
|
No
|
None
|
Ghi lại đoạn mã để tham khảo, đoạn mã dưới đây có sử dụng
try – catch để bẫy lỗi.
<!DOCTYPE html>
<html lang="en">
<head>
<meta
charset="UTF-8">
<title>Thông
tin người dùng</title>
</head>
<?php
try
{
//Khai báo đối
tượng PDO
$pdo = new
PDO("mysql:host=localhost;dbname=ql_nha_hang","root","");
//Xuất tiếng
Việt
$pdo->query("SET
NAMES UTF8");
//Tạo câu truy
vấn
$sql =
"SELECT * FROM user";
//Thực thi câu
truy vấn, các mẩu tin kết quả chứa trong biến $nguoi_dung
$nguoi_dung =
$pdo->query($sql);
}
catch (PDOException $ex)
{
die($ex->getMessage());
}
?>
<body>
<?php
if($nguoi_dung->rowcount()
> 0 ){
?>
<table width="800" border="0"
cellspacing="5" cellpadding="5"
align="center">
<caption>
<h2>THÔNG
TIN NGƯỜI DÙNG</h2>
</caption>
<tr>
<td>Họ
tên</td>
<td>Địa
chỉ</td>
<td>Email</td>
<td>Điện
thoại</td>
<td>Ngày
sinh</td>
</tr>
<?php
foreach
($nguoi_dung as $nd) {
?>
<tr>
<td><?php
echo $nd[fullname] ?></td>
<td><?php
echo $nd[address] ?></td>
<td><?php
echo $nd[email] ?></td>
<td><?php
echo $nd[phonenumber] ?></td>
<td><?php
echo $nd[birthday] ?></td>
</tr>
<?php } ?>
</table>
<?php }
$pdo->NULL;
?>
</body>
</html>
Xem và làm theo clip số 14 của thầy Nguyễn Anh Tuấn:
Phần này sẽ tách đoạn mã kết nối cơ sở dữ liệu sang một tập
tin riêng. Ví dụ, tập tin tên là connection.php.
<?php
try
{
//Khai báo đối
tượng PDO
$pdo = new
PDO("mysql:host=localhost;dbname=ql_nha_hang","root","");
//Xuất tiếng
Việt
$pdo->query("SET
NAMES UTF8");
}
catch (PDOException $ex)
{
die($ex->getMessage());
}
?>
Đây là đoạn mã trong tập tin hien_thi_tin_tuc.php.
<!DOCTYPE html>
<html lang="en">
<head>
<meta
charset="UTF-8">
<title>Danh
sách tin tức</title>
</head>
<?php
include("connection.php");
//Tạo câu truy
vấn
$sql =
"SELECT * FROM tin_tuc";
//Thực thi câu
truy vấn, các mẩu tin kết quả chứa trong biến $tin_tuc
$tin_tuc =
$pdo->query($sql);
?>
<body>
<?php
if($tin_tuc->rowcount()
> 0 ){
?>
<table width="800" border="0"
cellspacing="5" cellpadding="5"
align="center">
<caption>
<h2>THÔNG
TIN TIN TỨC</h2>
</caption>
<tr>
<td>Tiêu
đề</td>
<td>Tóm
tắt</td>
<td>Tác
giả</td>
<td>Ngày
đăng</td>
<td>Số
lượt xem</td>
</tr>
<?php
foreach
($tin_tuc as $item) {
?>
<tr>
<td><?php
echo $item[tieu_de] ?></td>
<td><?php
echo $item[tom_tat] ?></td>
<td><?php
echo $item[tac_gia] ?></td>
<td><?php
echo $item[ngay_dang] ?></td>
<td><?php
echo $item[so_luot_xem] ?></td>
</tr>
<?php } ?>
</table>
<?php }
$pdo->NULL;
?>
</body>
</html>
-----------
Cập nhật 15/2/2017
-----------