Ngu ngơ học làm web (106) - Kết hợp PHP – mySQL – thư viện PDO (tt)

Tiếp theo của: Ngu ngơ học làm web (105) - Kết hợp PHP – mySQL –  thư viện PDO
-----

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
-----------
Xem thêm:
Tổng hợp các bài viết về Ngu ngơ học làm web