Cách lấy dữ liệu từ cơ sở dữ liệu trong PHP và hiển thị trên trang web?

'; } ?>

Trong đoạn mã trên, tôi đã sử dụng thẻ bảng HTML bên trong câu lệnh echo để chuyển đổi bản ghi cơ sở dữ liệu thành định dạng bảng

Not only this, I enclosed the whole PHP code inside the HTML body. And then I used

Nếu bạn có bất kỳ loại biểu mẫu HTML nào lưu trữ các mục trong cơ sở dữ liệu MySQL. Và bây giờ bạn đang tự hỏi làm thế nào để hiển thị dữ liệu đó từ các bảng cơ sở dữ liệu MySQL trong HTML bằng PHP thì hướng dẫn này hoàn toàn dành cho bạn

Trong hướng dẫn trước, chúng ta đã tìm hiểu tất cả về cách kết nối Biểu mẫu HTML với cơ sở dữ liệu MySQL bằng PHP. Và chúng ta đã thấy các phương pháp lưu trữ các mục nhập biểu mẫu trong cơ sở dữ liệu MySQL. Hướng dẫn này là bước tiếp theo sẽ dạy bạn truy xuất dữ liệu từ cơ sở dữ liệu bằng PHP

Sau khi đọc hướng dẫn này, bạn sẽ có thể hiển thị nội dung của Bảng MySQL từ Cơ sở dữ liệu

Câu hỏi đầu tiên và quan trọng nhất là bạn cần gì cho việc này?

Vì vậy, hãy xem các yêu cầu đơn giản cho hướng dẫn này

  • Bạn cần Trình soạn thảo văn bản (Tôi sẽ sử dụng Visual Studio Code)
  • Và Máy chủ, trong hướng dẫn này, chúng tôi sẽ sử dụng máy chủ localhost như XAMPP. Ghi chú. Bạn cũng có thể sử dụng máy chủ trực tiếp, các bước đều giống nhau
  • Ngoài ra, bạn đã tạo Cơ sở dữ liệu MySQL. (Nếu chưa có, bạn có thể xem hướng dẫn này về cách tạo Cơ sở dữ liệu MySQL bằng phpMyAdmin)
  • Bạn nên có một số kiến ​​thức về kết nối Biểu mẫu HTML với cơ sở dữ liệu MySQL để lưu trữ đúng các mục nhập trong cơ sở dữ liệu. Nhưng đừng lo, nếu không, bạn có thể xem hướng dẫn trước của chúng tôi về Cách kết nối biểu mẫu HTML với cơ sở dữ liệu MySQL. Sau khi đọc hướng dẫn đó, bạn có thể bắt đầu từ đây

Bây giờ, hãy xem cách hiển thị dữ liệu bảng MySQL từ cơ sở dữ liệu trong PHP

Cách hiển thị dữ liệu bảng MySQL bằng PHP

Hiển thị dữ liệu từ cơ sở dữ liệu MySQL là quá trình dễ dàng và đơn giản hơn rất nhiều. Hãy bắt đầu với, bước đầu tiên của chúng ta

Bước 1. Chạy máy chủ Apache và MySQL trên XAMPP

Trước khi bắt đầu quá trình, nếu bạn đang sử dụng localhost XAMPP thì hãy đảm bảo các dịch vụ Apache và MySQL đang chạy trên PC của bạn. Nếu không, PHP sẽ không chạy, vì đó là ngôn ngữ kịch bản phía máy chủ

Run Apache and MySQL on XAMPP

Ghi chú. Thư mục dự án của bạn phải được đặt bên trong thư mục ‘htdocs‘ nằm trong thư mục XAMPP như hình bên dưới

project folder

Sau đó, xem bước tiếp theo

Bước 2. Tạo màn hình. php để hiển thị Bảng MySQL

Trước hết, bạn cần tạo một màn hình. php mà chúng tôi sẽ sử dụng để hiển thị dữ liệu bảng MySQL. Tất cả mã để hiển thị dữ liệu từ cơ sở dữ liệu MySQL sẽ nằm trong tệp này

Để tạo màn hình. php, chỉ cần chuyển đến trình soạn thảo văn bản của bạn và tạo một màn hình hiển thị tệp mới. php như trong hình bên dưới

create display .php file to display MySQL table data

Mẹo. Nếu bạn là người mới bắt đầu và không biết chạy mã PHP, thì hãy xem hướng dẫn này để tìm hiểu Cách chạy mã PHP trên PC của bạn

Hãy xem bước tiếp theo

Bước 3. Tạo kết nối tới cơ sở dữ liệu MySQL

Trong bước này, bạn sẽ tạo kết nối đến cơ sở dữ liệu MySQL của mình để hiển thị dữ liệu từ cơ sở dữ liệu. Để làm điều này, bạn phải có một Cơ sở dữ liệu MySQL được tạo với người dùng được chỉ định tất cả các đặc quyền

Trong trường hợp này, chúng tôi đã có cơ sở dữ liệu MySQL với tên webcodzing_db. Và chúng tôi có một bảng trong cơ sở dữ liệu MySQL của mình với tên contactform_entries như bạn có thể thấy bên dưới

Ghi chú. Nếu không có cơ sở dữ liệu, bạn có thể xem hướng dẫn này để tạo cơ sở dữ liệu MySQL bằng mã PHP

Đối với cơ sở dữ liệu này, chúng tôi có một người dùng được chỉ định tất cả các đặc quyền

Các chi tiết về tên máy chủ, người dùng cơ sở dữ liệu và cơ sở dữ liệu mà chúng tôi cần như sau

  • tên máy chủ. máy chủ cục bộ
  • tên tài khoản. webcodzingdb_user
  • Mật khẩu. webcodzing123
  • Tên cơ sở dữ liệu. webcodzing_db

Chúng tôi sẽ sử dụng các chi tiết trên để tạo kết nối với cơ sở dữ liệu MySQL của chúng tôi. Cho dù bạn đang sử dụng máy chủ cục bộ hay máy chủ lưu trữ trực tiếp, bạn có thể tìm và thay đổi các chi tiết này trong phần Tài khoản người dùng > Thông tin đăng nhập của phpMyAdmin như minh họa bên dưới

MySQL database user details

Bây giờ, hãy chuyển đến phần hiển thị. php và viết mã này bên dưới hoặc chỉ cần sao chép-dán



//storing database details in variables.
    $hostname = "localhost";
    $username = "webcodzingdb_user";
    $password = "webcodzing123";
    $dbname = "webcodzing_db";

    //creating connection to database
    $con = mysqli_connect($hostname, $username, $password, $dbname);
    //checking if connection is working or not
    if(!$con)
    {
        die("Connection failed!" . mysqli_connect_error());
    }
    else 
    {
        echo "Successfully Connected! 
"
; } ?>

Giải thích mã

  • Mã này khá đơn giản. Nếu bạn thấy đoạn mã trên từ dòng không. Từ 4 đến 7, chúng tôi đã tạo 4 biến $hostname, $username, $password và $dbname để lưu trữ chi tiết cơ sở dữ liệu MySQL của chúng tôi trong đó
  • Sau đó, chúng tôi đã sử dụng hàm mysqli_connect() và cung cấp cho nó thông tin chi tiết về cơ sở dữ liệu dưới dạng tham số để tạo kết nối
  • Sau đó, chúng tôi đã kiểm tra kết nối bằng câu lệnh if() và câu lệnh khác. Bên trong câu lệnh if(), chúng ta đã sử dụng hàm die(). Để xem cơ sở dữ liệu có được kết nối hay không

Ghi chú. Chi tiết cơ sở dữ liệu phải chính xác và không có bất kỳ lỗi chính tả nào

Sau khi lưu mã, khi bạn làm mới màn hình. Trang php thông báo 'Đã kết nối thành công' sẽ hiển thị

Hãy xem bước tiếp theo

Bước 4. Lệnh để CHỌN Dữ liệu bảng MySQL từ Cơ sở dữ liệu

Đối với điều này, bạn phải có một số cột có mục nhập hoặc hàng trong bảng của mình. Như bạn đã biết, trong cơ sở dữ liệu, dữ liệu được lưu trữ dưới dạng cột và hàng

Vì mục đích này, chúng tôi đã có một số mục nhập được lưu trữ trong bảng contactform_entries của chúng tôi. Trong bảng contactform_entries, chúng tôi có 6 mục được lưu trữ trong 4 cột (id, name_fld, email_fld, msg_fld) như trong hình bên dưới

MySQL Table Data from Database to Display

Để thu thập các mục này, chúng tôi có một biểu mẫu liên hệ mà chúng tôi đã tạo trong hướng dẫn trước của mình. Và đây là những bản ghi mà chúng tôi sẽ hiển thị từ cơ sở dữ liệu MySQL sang trang HTML bằng tập lệnh PHP

Bây giờ, chúng ta sẽ sử dụng lệnh SQL sau để chọn tất cả các bản ghi từ bảng MySQL ‘ contactform_entries ‘

SELECT * FROM table_name;

Hãy xem mã hoàn chỉnh



//storing database details in variables.
    $hostname = "localhost";
    $username = "webcodzingdb_user";
    $password = "webcodzing123";
    $dbname = "webcodzing_db";

    //creating connection to database
    $con = mysqli_connect($hostname, $username, $password, $dbname);
    //checking if connection is working or not
    if(!$con)
    {
        die("Connection failed!" . mysqli_connect_error());
    }
    else 
    {
        echo "Successfully Connected! 
"
; } //Output Form Entries from the Database $sql = "SELECT * FROM contactform_entries"; //fire query $result = mysqli_query($con, $sql); ?>

Giải thích mã

  • Chỉ cần nhìn thấy dòng không. 20 đến 23. Tôi đã tạo một biến $sql và nhập truy vấn SQL. “______9” trong chuỗi. Truy vấn đang chọn tất cả các cột trong bảng contactform_entries
  • Sau đó, tôi đã tạo một biến khác $result để kích hoạt truy vấn bằng hàm mysqli_query() . Trong hàm này, tôi đã sử dụng các biến $con và $sql làm tham số. Sau khi thực hiện các truy vấn này, kết quả sẽ được lưu trữ trong biến $result 

Bây giờ, chúng tôi đã chọn các bản ghi bảng MySQL. Đã đến lúc in dữ liệu bảng MySQL từ cơ sở dữ liệu. Hãy xem bước tiếp theo

Bước 5. Tìm nạp và hiển thị dữ liệu bảng MySQL

Để in dữ liệu bảng MySQL, trước tiên, bạn cần kiểm tra xem có bất kỳ hàng nào trong bảng của mình không. Để làm điều này, chúng ta sẽ sử dụng câu lệnh if() với hàm mysqli_num_rows() 

if(mysqli_num_rows($result) > 0)
{
  $row = mysqli_fetch_assoc($result);
  echo "id: " . $row["id"]. " - Name: " . 
    $row["name_fld"]. " Email: ". $row["email_fld"]. " Message: ". 
    $row["msg_fld"] . "
"; } else { echo "0 results"; }

Giải thích mã

  • Đoạn mã trên bao gồm câu lệnh if() else để kiểm tra xem có bản ghi nào không hoặc bảng có trống không. Nếu bảng trống thì nó sẽ thực thi câu lệnh khác sẽ hiển thị 0 kết quả
  • Bên trong câu lệnh if(), chúng tôi đã sử dụng một hàm có tên mysqli_fetch_assoc();
  • Sau đó, tôi đã sử dụng một câu lệnh echo để hiển thị các giá trị của một mảng kết hợp. Bên trong câu lệnh echo, tôi đang sử dụng biến $row vì hàm mysqli_fectch_assoc() đang lưu trữ các giá trị bên trong nó
  • Bên trong dấu ngoặc vuông, tôi đang sử dụng tên của từng cột và kết hợp nó với một chuỗi bằng cách sử dụng dấu chấm (. ) nhà điều hành

Có liên quan. 6 phương pháp in mảng trong PHP

Nhưng vấn đề ở đây là nó sẽ chỉ lấy một bản ghi. Và bạn sẽ phải lặp lại mã để hiển thị nhiều bản ghi hơn. Như thế này dưới đây


if(mysqli_num_rows($result) > 0)
{
  // first record
  $row = mysqli_fetch_assoc($result);
  echo "id: ". $row["id"]. " - Name: ". 
    $row["name_fld"]. " Email: ". $row["email_fld"]. " Message: ". 
    $row["msg_fld"] . "
"
; $row = mysqli_fetch_assoc($result); // second record echo "id: ". $row["id"]. " - Name: ". $row["name_fld"]. " Email: ". $row["email_fld"]. " Message: ". $row["msg_fld"] . "
"
; $row = mysqli_fetch_assoc($result); //third record echo "id: ". $row["id"]. " - Name: ". $row["name_fld"]. " Email: ". $row["email_fld"]. " Message: ". $row["msg_fld"] . "
"
; } else { echo "0 results"; } ?>

Điều này hữu ích trong một số trường hợp nhưng nếu bạn muốn hiển thị hàng nghìn bản ghi từ cơ sở dữ liệu MySQL bằng PHP thì sao?

Một dòng mã đơn giản có thể làm giảm nỗ lực của bạn. Vì vậy, hãy sử dụng vòng lặp while()

 
if(mysqli_num_rows($result) > 0)
{
 while($row = mysqli_fetch_assoc($result)){
   echo "id: " . $row["id"]. " - Name: " . $row["name_fld"]. " Email: ". $row["email_fld"]. " Message: ". $row["msg_fld"] . "
"
; } } else { echo "0 results"; } ?>

Vòng lặp sẽ chạy cho đến khi tất cả các bản ghi sẽ hiển thị trong PHP từ cơ sở dữ liệu

Xem mã hoàn chỉnh để 'hiển thị dữ liệu bảng MySQL từ cơ sở dữ liệu bằng PHP'



//storing database details in variables.
    $hostname = "localhost";
    $username = "webcodzingdb_user";
    $password = "webcodzing123";
    $dbname = "webcodzing_db";

    //creating connection to database
    $con = mysqli_connect($hostname, $username, $password, $dbname);
    //checking if connection is working or not
    if(!$con)
    {
        die("Connection failed!" . mysqli_connect_error());
    }
    else 
    {
        echo "Successfully Connected! 
"
; } //Output Form Entries from the Database $sql = "SELECT id, name_fld, email_fld, msg_fld FROM contactform_entries"; //fire query $result = mysqli_query($con, $sql); if(mysqli_num_rows($result) > 0) { while($row = mysqli_fetch_assoc($result)){ echo "id: " . $row["id"]. " - Name: " . $row["name_fld"]. " Email: ". $row["email_fld"]. " Message: ". $row["msg_fld"] . "
"
; } } else { echo "0 results"; } // closing connection mysqli_close($con); ?>

Bạn có thể sao chép và dán tất cả mã trên vào màn hình của mình. tệp php

Đôi khi, chúng tôi muốn hiển thị tất cả các bản ghi cơ sở dữ liệu ở định dạng bảng. Bạn có thể làm điều đó chỉ với một vài thẻ HTML đơn giản. Vì vậy, hãy xem

Cách lấy dữ liệu từ cơ sở dữ liệu MySQL ở định dạng bảng

Để tìm nạp dữ liệu từ cơ sở dữ liệu trong PHP để hiển thị ở định dạng bảng, bạn có thể sử dụng các thẻ HTML bên trong PHP với câu lệnh echo. Bởi vì PHP là ngôn ngữ được gõ lỏng lẻo và hoạt động hoàn hảo với HTML nhưng hãy đảm bảo không thay đổi phần mở rộng tệp


Định dạng bảng là một cách khác để hiển thị dữ liệu Bảng MySQL trong PHP. Các bảng HTML cực kỳ hữu ích trong việc hiển thị các bản ghi cơ sở dữ liệu lớn ở dạng dễ đọc hơn. Bạn có thể sử dụng tất cả các thẻ bảng HTML với câu lệnh echo trong PHP

Rất đơn giản, bạn làm như mình làm, chỉ cần xem đoạn code bên dưới


while($row = mysqli_fetch_assoc($result)){
			// to show data in table format > do this
           echo '
Id: ' . $row["id"] . ' Name: ' . $row["name_fld"] . ' Email: ' . $row["email_fld"] . ' Message: ' . $row["msg_fld"] . '