Nhận và hiển thị hình ảnh trực tiếp bằng jQuery trong HTML

{tocify} $title={Table of Contents}

Vấn đề hiển thị hình ảnh trên HTML

Như các bạn đã biết các website cổ điển của công ty có phần quản lý nhân sự. Trong mục thêm nhân sự thì hình ảnh chân dung của nhân viên đính kèm khi thêm mới chỉ là tên ảnh. Hình ảnh khi thêm mới không được hiển thị ngay lập tức, và giao diện thường cổ điển, không sinh động bắt mắt.

Dùng jQuery để hiển thị hình ảnh lên HTML

Trong bài viết này, tôi sẽ chia sẻ cho tất cả các bạn cách thay đổi và tuỳ chỉnh giao diên hiển thị của thẻ Input File, và cách hiển thị hình ảnh ngay lập tức lên thẻ Image trong HTML. Kỹ thuật này sẽ dùng một đoạn code của jQuery, nên các bạn chịu khó tìm hiểu sơ sơ về jQuery để nắm được đoạn chương trình  và hiểu hết bài viết này nhé.





Thiết kế giao diện HTML

Điều đầu tiên chúng ta luôn luôn làm là tạo một dự án mới, tiếp theo là thêm mới một file index.html với đoạn code mẫu bên dưới:


<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
<title>Get & Live Show Image Using jQuery In HTML</title>
<meta charset="utf-8">
</head>
<body>
<div class="container-xl">
<h1 style="text-align: center; margin: 30px;">Get & Live Show Image Using jQuery In HTML</h1>
<div class="thumb">
<img id="imgSrc" src="no-thumb.jpg">
<div id="uploadCover" class="thumb-cover">
<i class="fa fa-plus-square"></i>
<input type="file" name="HinhAnh" id="imgUpload" accept="image/*" title="Click để thay đổi hình ảnh!">
</div>
</div>
</div>
</body>
</html>
Chạy thử xem dự án có hoạt động không nhé, cam đoan là nhìn thấy hơi tệ, nhưng chúng ta tiếp tục làm đẹp cho em nó nhé.




style="display:block; text-align:center;"
data-ad-layout="in-article"
data-ad-format="fluid"
data-ad-client="ca-pub-2710840940759095"
data-ad-slot="6573006073">




Thêm thư viện Bootstrap, jQuery và CSS vào giao diện

Để có thể sử dụng jQuery và hiển thị biểu tượng cho đoạn code <i class="fa fa-plus-square"></i> ta phải thêm 2 thư viện này vào trong thẻ <head>.


<head>
<title>Styling & Customizing File Inputs</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.0/css/all.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
</head>
Tới đây chúng ta chỉ mới hoàn tất công đoạn khung sườn cho trang của mình. Để thay được giao diện như mong muốn ta phải thực hiện một số thao tác như:
      1. Định kích thước, chọn loại hiển thị, canh trái phải, ... cho class .thumb
      2. Định kích thước, vị trí xuất hiện, màu nền cho class .thumb-cover
      3. Định kích thước cho thẻ i, chọn màu, vị trí hiển thị của thẻ i
      4. Cấu hình một số thuộc tính cho thẻ Input File
và ... các bước chạy thử nghiệm để tạo ra được một đoạn CSS:


<style type="text/css">
.thumb{
width: 520px;
height: 360px;
display: block;
overflow: hidden;
margin-left: auto;
margin-right: auto;
box-shadow: 1px 1px 5px #999;
border-radius: 20px;
}
.thumb img{
float: left;
width: 100%;
height: 100%;
}
.thumb .thumb-cover{
width: 520px;
height: 360px;
position: absolute;
display: none;
border-radius: 20px;
background-color: rgba(0, 0, 0, 0.3);
}
.thumb:hover .thumb-cover{
display: flex;
}
.thumb i{
color: #00d0ff;
font-size: 55px;
width: 100%;
text-align: center;
margin-top: calc(50% - 100px);
}
input#imgUpload {
top: 0;
left: 0;
cursor: pointer;
width: 100%;
height: 100%;
position: absolute;
display: inline-block;
opacity: 0;
}
</style>
Xong công đoạn thêm đoạn CSS này vào, thì chúng ta đã hoàn tất phần giao diện cho chương trình rồi ạ. Bây giờ chúng ta chạy thử lại xem trang của chúng ta sẽ ra thế nào nhé.



Wow, hoan hô giao diện đã đúng như đề bài ban đầu đã đưa ra rùi. Nhưng chỉ mới là giao diện thoy ạ, chưa hiển thị lên được hình ảnh khi ta chọn đâu. Tới đây chúng ta lại tiếp tục phải nhờ vã anh jQuery làm tiếp thôi.

Xây dựng hàm hiển thị hình bằng bằng jQuery

Nội dung nhờ vã: anh jQuery giám sát dùm em, nếu như  có chị Input File nào nhất cử nhất động (nói rõ ra là có thay đổi trạng thái như là lấy hình ảnh lên). Thì anh phải ngay lập tức chụp hình nó lại, rồi gửi lên cho em xem liền. Và phần lót tay của em gửi cho anh jQuery đây ạ: 


<script type="text/javascript">
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function(e) {
$('#imgSrc').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
$("#imgUpload").change(function() {
readURL(this);
});
</script>

Phần code này các bạn đặt cuối chương trình nhé.Nếu các bạn muốn xem mỗi đoạn code CSS trên có tác động thế nào đến chương trình, thì các bạn nên chạy từng phần. 

Nếu bạn muốn lấy nguồn hoàn chỉnh, xin vui lòng ghi địa chỉ email của bạn vào phần nhận xét. Chúng tôi sẽ gửi cho bạn bộ nguồn hoàn chỉnh theo địa chỉ email của bạn.

Thay đổi và tuỳ chỉnh giao diện thẻ Input File

Nếu như các bạn đã thấy nhàm chán với giao diện tẻ nhạt của thẻ input[type=file], thì trong bài này tôi sẽ chia sẻ cho các bạn cách thay đổi lại giao diện hiển thị của thẻ này. Có thể tuỳ chỉnh kích thước, màu sắc, và đặc biệt là chúng ta có thể chèn thêm biểu tượng vào thẻ cho thêm bắt mắt như hình:





Chúng ta cùng bắt tay vào việc luôn nhé các bạn. Trước tiền các bạn tạo giao diện ban đầu với đoạn code bên dưới và lưu lại với tên index.html.


<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
<title>Styling & Customizing File Inputs</title>
<meta charset="utf-8">
</head>
<body>
<div class="container-xl">
<h1 style="text-align:center; margin:30px;">Styling & Customizing File Inputs</h1>
<div class="box-input-1">
<label for="imgUpload" class="custom-file-1">
<i class="fas fa-cloud-upload-alt"></i> <span id="filesel">0 file selected</span>
</label>
<input type="file" id="imgUpload" name="files[]" accept="image/*" multiple="">
</div>
<div class="box-input-1">
<label for="imgUpload_2" class="custom-file-2">
<i class="fas fa-cloud-upload-alt"></i>
</label>
<span id="filesel_2">Choose a file...</span>
<input type="file" id="imgUpload_2" name="files[]" accept="image/*" multiple="">
</div>
<div class="box-input-1">
<label for="imgUpload_3" class="custom-file-3">
<span id="filesel_3"></span>
<span id="filechoose_3"><i class="fas fa-cloud-upload-alt"></i> Choose a file...</span>
</label>
<input type="file" id="imgUpload_3" name="files[]" accept="image/*" multiple="">
</div>
</div>
</body>
</html>


Chép đoạn code dưới đây chứa thư viện CSS và jQuery vào trong cặp thẻ <head></head>, lưu lại và chạy thử lại lần nữa xem sao nhé. Chắc chắn sẽ một số thay đổi nhỏ rùi đúng không ạ?


<head>
<title>Styling & Customizing File Inputs</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.0/css/all.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
</head>



style="display:block; text-align:center;"
data-ad-layout="in-article"
data-ad-format="fluid"
data-ad-client="ca-pub-2710840940759095"
data-ad-slot="6573006073">


Bước gần cuối là chúng ta viết thêm CSS cho các thẻ, bước này hơi vất vã và khó hiểu. Nên anh chị nếu thấy khó quá thì xin đừng cố gắng mà tạm chấp nhận và tiếp tục đi bước kế tiếp nhé. Chúng ta hãy dán thêm đoạn CSS này trước thẻ </head> rùi tận hưởng thành quả nhé.


<style type="text/css">
input[type="file"] {
display: none;
}
.box-input-1{
text-align: center;
background-color: #dfc8ca;
padding: 4.5rem 1.25rem;
margin-bottom: 30px;
}
.custom-file-1 {
font-size: 18px;
display: inline-block;
padding: 10px 7px;
cursor: pointer;
background-color: #d3394c;
font-weight: 600;
color: #fff;
width: 180px;
font-family: "Times New Roman", Times, serif;
}
.custom-file-1:hover {
background-color: #007bff;
}
.custom-file-2 {
display: inline-block;
padding: 15px 10px;
cursor: pointer;
background-color: #d3394c;
color: #fff;
text-overflow: ellipsis;
border-radius: 50%;
font-family: "Times New Roman", Times, serif;
}
.custom-file-2 i{
font-size: 48px;
}
#filesel_2{
display: block;
color: #d3394c;
font-weight: 700;
}

.custom-file-3 {
border: 1px solid #d3394c;
background-color: #f1e5e6;
padding: 0;
display: inline-flex;
max-width: 350px;
}

#filesel_3{
width: 200px;
min-height: 2.5em;
display: inline-block;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
vertical-align: middle;
padding: 7px;
text-align: left;
font-size: 18px;
font-weight: 600;
cursor: pointer;
}
#filechoose_3{
width: 160px;
min-height: 2.5em;
display: inline-block;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
vertical-align: middle;
padding: 7px;
text-align: center;
background-color: #d3394c;
color: #fff;
font-weight: 700;
font-size: 18px;
cursor: pointer;
font-family: "Times New Roman", Times, serif;
}
.custom-file-3:hover{
border-color: #007bff;
}
.custom-file-3:hover #filechoose_3{
background-color: #007bff;
border-color: #007bff;
}
</style>


Khuyến mãi thêm cho các bạn đoạn code jQuery, các bạn dán đoạn code này sau thẻ </html> nhé. Đoạn code có nhiệm vụ thăm dò, khi bạn nhấp vào nút và chọn file thì đoạn code này sẽ đếm số lượng file bạn đã chọn và hiển thị lên.



<script type="text/javascript">
$("#imgUpload").change(function() {
var numFiles = $(this)[0].files.length;
if (numFiles<2) {
$('#filesel').text(numFiles + ' file selected');
}else{
$('#filesel').text(numFiles + ' files selected');
}
});

$("#imgUpload_3").change(function() {
var numFiles = $(this)[0].files.length;
if (numFiles<2) {
$('#filesel_3').text(numFiles + ' file selected');
}else{
$('#filesel_3').text(numFiles + ' files selected');
}
});
</script>


Nếu các bạn muốn xem mỗi đoạn code CSS trên có tác động thế nào đến post, thì các nên nên xem trong video ở đầu bài nhé. Đừng quên cho 1 Subscribe để ủng hộ và theo dõi các bài đăng kế tiếp nhé.

Nếu bạn muốn lấy nguồn hoàn chỉnh, xin vui lòng ghi địa chỉ email của bạn vào phần nhận xét. Chúng tôi sẽ gửi cho bạn bộ nguồn hoàn chỉnh theo địa chỉ email của bạn.

Tạo hiệu ứng đẹp cho hình đại diện - dùng HTML và CSS

Như các bạn đã thấy trên các trang web, mỗi bài viết đều có một hình ảnh đại diện (thumbnail). Hình đại diện nói lên một phần nội dung của bài viết, và đặc biệt hình đại diện cũng làm cho bài viết thêm đẹp và bắt mắt người đọc.
Trong bài viết này tôi sẽ hướng dẫn các bạn tạo hiệu ứng cho hình đại diện, hiệu ứng này cũng thông dụng và rất đẹp.




{tocify} $title={Table of Contents}


Tạo dự án mới HTML



Đầu tiên các bạn tạo và đặt tên cho dự án (project) mới của mình. Trong dự án, tạo thêm một thư mục tên images. Và lên chị Google xin một bức ảnh đẹp, tải về lưu vào thư mục images.










Quá trình xây dựng và hoàn thành dự án HTML



Thiết kế giao diện HTML



Chúng ta mở trình soạn thảo lên, tạo mới một file index.html cho dự án mới tạo vào và bắt đầu màu mè nhé. 

Chép đoạn code mẫu sau đây vào file index.html, và lưu lại dữ liệu mới chép vào nhé. Chạy thử dự án với đường dẫn trên localhost như sau: http://localhost/tên dự án đã tạo/ xem có được không cái đã.


style="display:block; text-align:center;"
data-ad-layout="in-article"
data-ad-format="fluid"
data-ad-client="ca-pub-2710840940759095"
data-ad-slot="6573006073">


Lưu ý: tên dự án tạo không được để dấu, không được có khoảng trắng để tránh xảy ra lỗi vặt.



<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
<title>Create Post With Beautiful Effects For Thumbnail</title>
<meta charset="utf-8">
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="col-sm-2"></div>
<div class="col-sm-8">
<h1>Using Plugin DataTable jQuery in PHP</h1><br />
</div>
<div class="col-sm-2"></div>
</div>
<div class="row">
<div class="col-sm-2"></div>
<div class="col-sm-8">
<div class="acticles">
<!-- div image -->
<div class="acticle-thumb">
<div class="cls-image">
<img src="images/car-1.jpg">
</div>
</div>
<!-- div date -->
<div class="acticle-date">
<span class="day">28</span>
<span class="month">Tháng 08</span>
</div>
<!-- div info -->
<div class="acticle-info">
<h3><a href="#link">Cách tạo DataTable trong PHP - sử dụng thư viện jQuery và Boostrap 4</a></h3>
<p>DataTable là một plugin jQuery và nó là công cụ rất hữu hiệu để hiển thị dữ liệu ra bảng trong HMTL. Lợi ích lớn nhất của việc sử dụng plugin này vào dự án là nó giúp chúng ta giảm rất nhiều phía server.</p>
</div>
</div>
</div>
<div class="col-sm-2"></div>
</div>
</div>
</body>
</html>


Lưu lại và chạy thử cái xem thế nào nhé các bạn. Wow, thật là ngổn ngang và ...cứ từ từ không vội được đâu ạ.






Thêm thư viện Bootstrap, jQuery



Chép đoạn code dưới đây chứa thư viện CSS và jQuery vào trong cặp thẻ <head></head>, lưu lại và chạy thử lại lần nữa xem sao nhé. Riêng tôi thấy đã có chút ít thay đổi rồi đó.



<head>
<title>Create Post With Beautiful Effects For Thumbnail</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
</head>


Thêm CSS tự đinh nghĩa vào dự án



Sau đây là công đoạn khó khăn và khó hiểu nhất nếu như các bạn tự viết, thực ra thì mình hiểu sơ sơ chứ không hiểu hết đoạn code do mình viết ra. Thôi chúng ta bỏ qua nhé, chép cả đoạn CSS phía dưới này vào là ngon lành.


<style>
.container-fluid .acticles{
display: inline-block;
box-shadow: 0px 0px 5px #999;
width: 480px;
}
.acticles .acticle-thumb{
width: 100%;
height: 200px;
overflow: hidden;
margin-left: auto;
margin-right: auto;
}
.acticles .acticle-thumb img{
width: 100%;
height: 200px;
transition: all 0.3s;
}
/*zoom image*/
.cls-image:hover img{
transform: scale(1.1, 1.1);
}
.acticles .acticle-info{
padding: 20px;
position: relative;
}
.acticles .acticle-info h3{
max-height: 55px;
margin-bottom: 20px;
}
.acticles .acticle-info h3 a{
font-size: 18px;
text-decoration: none;
}
.acticles .acticle-info p{
font-size: 14px;
}
.acticle-date{
top: 10px;
left: 0px;
float: left;
display: flex;
flex-direction: column;
position: absolute;
background: #fff;
box-shadow: 1px 1px 1px rgba(0, 0, 0, .1);
width: 60px;
margin: 3px 10px 8px 0;
text-align: center;
transition: all .3s ease;
opacity: 0;
}
.acticle-date .day{
background: #f4f4f4;
display: block;
font-size: 16px;
font-weight: bold;
padding: 5px 0;
color: #f6a22b;
}
.acticle-date .month{
background: #f6a22b;
display: block;
font-size: 12px;
font-weight: 600;
padding: 5px 0 5px;
color: #fff;
box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.07) inset;
}
.acticles:hover .acticle-date{
top: 10px;
left: 30px;
opacity: 1000;
/*transform: translateX(10px);*/
}
</style>


Nếu các bạn muốn xem mỗi đoạn code CSS trên có tác động thế nào đến post, thì các nên nên xem trong video ở đầu bài nhé. Đừng quên cho 1 Subscribe để ủng hộ và theo dõi các bài đăng kế tiếp nhé.



Nếu bạn muốn lấy nguồn hoàn chỉnh, xin vui lòng ghi địa chỉ email của bạn vào phần nhận xét. Chúng tôi sẽ gửi cho bạn bộ nguồn hoàn chỉnh theo địa chỉ email của bạn.

Cách tạo bảng DataTable trong PHP - dùng jQuery và Boostrap 4



{tocify} $title={Table of Contents}


DataTable là gì?



DataTable là một plugin jQuery và nó là công cụ rất hữu hiệu để hiển thị dữ liệu ra bảng trong HMTL. Lợi ích lớn nhất của việc sử dụng plugin này vào dự án là nó giúp chúng ta giảm rất nhiều phía server, sử dụng ít tài nguyên, giảm thiểu khả năng chiếm dụng băng thông, tăng tốc độ load trang web.  Với plugin có sẵn này, khi dữ liệu của chúng ta đã sẵn sàng thì chỉ cần vài thao tác kích hoạt và khai báo là đã sử dụng được.



Cách tạo bảng DataTable trong PHP


Trong bài hướng dẫn này chúng ta sẽ sử dụng plugin Datatable jQuery với PHP, MySQL và cách sử dụng Plugin này với Boostrap 4. Trong bài này chúng ta sẽ hiển thị dữ liệu bảng trong MySQL thành kiểu DataTable với thư viện Boostrap 4.  





style="display:block; text-align:center;"
data-ad-layout="in-article"
data-ad-format="fluid"
data-ad-client="ca-pub-2710840940759095"
data-ad-slot="6573006073">





1. Tạo file index.php



Tạo thư mục chứa dự án, sau đó mở trình soạn thảo code lên. Tạo mới file với tên index.php và lưu vào dự án vừa tạo. Chép đoạn code mẫu sau đây vào file index.php. Nhớ lưu lại dữ liệu mới chép vào nhé. Chạy thử dự án với đường dẫn trên localhost như sau: http://localhost/tên dự án đã tạo/



Lưu ý: tên dự án tạo không được để dấu, không được có khoảng trắng để tránh xảy ra lỗi vặt.



<!DOCTYPE html>
<html>
<head>
<title>Using Datatable In PHP</title>
<meta charset="utf-8">
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="col-sm-2">
<div class="gg-ads" style="margin-top:145px;"></div>
</div>
<div class="col-sm-8">
<br />
<h1>Using Plugin DataTable jQuery in PHP</h1><br />
<div class="table-responsive">
<table id="dataid" class="table table-striped table-bordered" style="width: 100%;">
<thead>
<tr>
<th>Item Name</th>
<th>Vietnamese</th>
<th>English</th>
<th>Create Time</th>
</tr>
</thead>
<tbody>
<tr>
<td>AAAAA</td>
<td>BBBBB</td>
<td>CCCCC</td>
<td>DDDDD</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="col-sm-2"></div>
</div>
</div>
</body>
</html>


Tiếp theo thêm các thư viện Bootstrap 4, plugin DataTable jQuery, jQuery và CSS vào sau thẻ meta trong cặp thẻ <head></head>:

<head>
<title>Using Datatable In PHP</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.2/css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.11.0/css/dataTables.bootstrap4.min.css">

<script src="https://code.jquery.com/jquery-3.5.1.js"></script>
<script src="https://cdn.datatables.net/1.11.0/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.11.0/js/dataTables.bootstrap4.min.js"></script>
<style>
.table-responsive{
box-shadow: 0px 0px 5px #999;
padding: 20px;
}
</style>
</head>



Tạo Database và Import Table



Bước tiếp theo chúng ta truy cập vào http://localhost/phpmyadmin/ tạo mới một database và import bảng vào database vừa tạo.


$ads={2}



Kết nối và truy vấn dữ liệu trong MySQL


Để kết nối thành công đến cơ sở dữ liệu, các bạn cần tìm hiểu cách sử dung hàm mysqli_connect($host, $user, $password, $database, $port, $socket).
Trong đó:
$host: là địa chỉ host của bạn, thông thường là localhost luôn

$user: là tên đăng nhập vào database

$password: là mật khẩu kết nối vào database

$database: Tên database bạn chọn để xử lý

$port: Cổng kêt nối, không bắt buộc

$socket: Phương thức socket kết nối, không bắt buộc



Sau đó là cách truy vấn đến bảng dữ liệu trên database, và cách hiển thị dữ liệu đã truy vấn được ra trang index.php.
<tbody>
<?php
//connect to mysql
$conn = mysqli_connect("localhost", "root", "", "datatablephp") or die("Connect fail!");
mysqli_query($conn,"SET NAMES 'utf8'");

//fetch data from mysql
$sql = "SELECT * FROM `itemlist` ORDER BY `id` DESC";
$query = mysqli_query($conn,$sql);
while ($row = mysqli_fetch_assoc($query)) {
?>
<tr>
<td><?php echo $row['item_name'] ?></td>
<td><?php echo $row['name_vn'] ?></td>
<td><?php echo $row['name_en'] ?></td>
<td><?php echo $row['created_at'] ?></td>
</tr>
<?php
} //end while
?>
</tbody>



Chuyển table thành DataTable



Kích hoạt bảng dữ liệu đã hiển thị trên trang index.php thành dạng DataTable. Lưu ý là bảng dữ liệu phải có một id, trong dự án này bảng dữ liệu được định danh id là dataid.
<script>
$(document).ready(function() {
var datatablephp = $('#dataid').DataTable();
});
</script>



Full Souce Code



<!DOCTYPE html>  
<html>
<head>
<title>Using Datatable In PHP</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.2/css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.11.0/css/dataTables.bootstrap4.min.css">

<script src="https://code.jquery.com/jquery-3.5.1.js"></script>
<script src="https://cdn.datatables.net/1.11.0/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.11.0/js/dataTables.bootstrap4.min.js"></script>
<style>
.table-responsive{
box-shadow: 0px 0px 5px #999;
padding: 20px;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="col-sm-2"></div>
<div class="col-sm-8">
<br />
<h1>Using DataTable In PHP</h1><br />
<div class="table-responsive">
<table id="dataid" class="table table-striped table-bordered" style="width: 100%;">
<thead>
<tr>
<th>Item Name</th>
<th>Vietnamese</th>
<th>English</th>
<th>Create Time</th>
</tr>
</thead>
<tbody>
<?php
//connect to mysql
$conn = mysqli_connect("localhost", "root", "", "datatablephp") or die("Connect fail!");
mysqli_query($conn,"SET NAMES 'utf8'");

//fetch data from mysql
$sql = "SELECT * FROM `itemlist` ORDER BY `id` DESC";
$query = mysqli_query($conn,$sql);
while ($row = mysqli_fetch_assoc($query))
{
?>
<tr>
<td><?php echo $row['item_name'] ?></td>
<td><?php echo $row['name_vn'] ?></td>
<td><?php echo $row['name_en'] ?></td>
<td><?php echo $row['created_at'] ?></td>
</tr>
<?php
} //end while
?>
</tbody>
</table>
</div>
</div>
<div class="col-sm-2"></div>
</div>
</div>
</body>
</html>
<script>
$(document).ready(function() {
var datatablephp = $('#dataid').DataTable();
});
</script>



Nếu bạn muốn lấy nguồn hoàn chỉnh với tệp *.sql, xin vui lòng ghi địa chỉ email của bạn vào phần nhận xét. Chúng tôi sẽ gửi cho bạn bộ nguồn hoàn chỉnh theo địa chỉ email của bạn.