Trong cơ sở dữ liệu Database sẽ chứa nhiều dữ liệu khác nhau. Nó sẽ chia thành các bảng (Table), trong bảng lại có các cột. Ví dụ như bạn sẽ tạo một bảng là “user” với các cột (row) bao gồm id (Bắt buộc), tên, năm sinh… Hoặc đơn giản là lấy và hiển thị dữ liệu từ Database bằng Php và Mysql show các bài viết ra ngoài. Bài viết này sẽ hướng dẫn tường tận cách thức hiển thị dữ liệu trong database lên màn hình bằng code PHP.

Làm thế nào để lấy dữ liệu từ Database trong PHP?

Trong bài viết Hướng dẫn tạo Database trong Phpmyadmin chúng ta đã biết cách tạo ra một Database. Tuy nhiên vẫn chưa có một thông tin gì cả. Vì vậy chúng ta phải chèn một thông tin nào đó vào.

Trước tiên bạn truy cập vào http://localhost/phpmyadmin nhấp vào cơ sở dữ liệu là “data

Bước 2: Tạo bảng là “users

CREATE TABLE users (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)

tao-bang-trong-mysql

Tiếp theo nhấp vào “users“, trong bảng sẽ hiển thị các cột gồ “id, firstname, lastname, email, reg_date

tao-bang-trong-mysql-1

Bầy giờ tiếp tục nhấp vào tab SQL để thêm mã MySQL vào

INSERT INTO users (id, firstname, lastname, email)
VALUES ('1', 'Le', 'Nghia', '[email protected]');

tao-bang-trong-mysql-2

Cuối cùng ấn nút Tạo (Go) để hoàn tất.

Lưu ý: Cái id bạn có thể dùng hoặc bỏ đi cũng được. Mỗi một thành viên phải là một id khác nhau

Đối với các thành viên khác cũng làm tương tự

Bước 3: Lấy dữ liệu từ Database MySQL trong PHP

Bạn sẽ sử dụng đoạn code sau:

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "data";

// tạo kết nối
$conn = new mysqli($servername, $username, $password, $dbname);
// kiểm kết nối
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id, firstname, lastname, email, reg_date FROM users";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
// Load dữ liệu lên website
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Tên: " . $row["firstname"]. " "
. $row["lastname"]. " - Email: ". $row["email"]. " - Ngày đăng ký: ". $row["reg_date"]."<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>

Và kết quả cuối cùng sau khi request dữ liệu từ MySQL như thế này:

lay-du-lieu-tu-database-php

Vậy còn với bài viết thì làm sao nhỉ?

Bài viết thì chúng ta cũng sẽ làm tương tự như trên.

Sẽ tạo ra một bảng đặt tên là posts bao gồm các cột là “id, title, content, date” bằng đoạn mã MySQL

CREATE TABLE posts (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100) NOT NULL,
content VARCHAR(1000) NOT NULL,
date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)

lay-du-lieu-tu-database-php-1

Tiếp theo ấn vào posts ở cột menu bên trái => Nhấp vào tab MySQL

INSERT INTO posts (title, content, date)
VALUES ('Đây là đoạn văn tiêu đề', 'Đây là đoạn văn nội dung', '');

Tiếp theo load nội dung ra lên màn hình trình duyệt bằng lênh PHP

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "data";

// tạo kết nối
$conn = new mysqli($servername, $username, $password, $dbname);
// kiểm kết nối
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id, title, content, date FROM posts";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
// Load dữ liệu lên website
while($row = $result->fetch_assoc()) {
echo "Tiêu đề: ". $row["title"]."<br>";
echo "Ngày: ". $row["date"]."<br>";
echo "Nội dung: ". $row["content"]."<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>

Oke như vậy là xong rồi!.

Để load dữ liệu từ Database lên website chúng ta sẽ dùng tới lệnh SELECT… FROM… và dùng vòng lặp while.

Hi vọng với bài viết này bạn sẽ hiểu hơn về cách thức hoạt động của PHP và MySQL