Người Viết : ViKiMi Editor

Thực hiện xử lý truy cập Database bằng File PHP trên Web Server .
Chúng ta biết rằng các tương tác nhờ Ajax đã giúp cho chúng ta có nhiều lựa chọn khi lập trình. Thay vì chỉ sử dụng một ngôn ngữ lập trình với cách thực hiện chỉ trên một nền tảng duy nhất, Khi chúng ta có nhiều lựa chọn hơn trong công việc lập trình thì việc này trở nên thú vị và còn đem lại lợi ích hơn nữa. Các lợi ích khi có thể thực hiện với đa nền tảng, đa tác vụ, và đa nhiệm làm cho chúng ta có một Website hay bất kỳ một ứng dụng nào thì đều có thể hoạt động linh hoạt hơn.
Với các chức năng được chia nhỏ thành các tác vụ khác nhau. Các tác vụ này lại được thực hiện trên nền tảng hay trên một các thức xử lý khác nhau, không phụ thuộc vào một ngôn ngữ duy nhất, thì một chức năng sẽ trở nên hoàn thiện, ngắn gọn, nhanh hơn.
Chúng ta đã xét khá nhiều về Ajax, nhưng tất cả chỉ ở mức thuần tuý. Vậy nên chúng sẽ thử nghiệm với cách xử lý khó hơn. Thực hiện gọi một Service trên máy chủ Web bằng Ajax và chúng ta sẽ thực hiện lập trình Service này bằng ngôn ngữ lập trình php.
Vì chỉ lập trình bằng php nên chúng ta sẽ không có các chức năng do bất kỳ một CMS hay một Framework nào cung cấp trong Service này. Đơn giản rằng tất cả các xử lý trong file Service này đều được thực hiện bởi ngôn ngữ lập trình php.
MÃ CODE TRONG FILE HTML :
<!DOCTYPE html>
<html>
<head>
<meta charset=”UTF-8”>
<meta name=”viewport” content=”width=device-width, initial-scale=1.0, shrink-to-fit=no”>
<link rel=”stylesheet” type=”text/css” href=”StyleFolder/style.css”>
<script>
function loadEmployee() {
var xhttp;
/* Lấy giá trị văn bản nhập tại input có id txt_PhongBan */
var str_Office_Room = document.getElementById("txt_PhongBan").value;
if (str_Office_Room.length == 0) {
document.getElementById("txtHint").innerHTML = "";
return;
}
xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("txtHint").innerHTML = this.responseText;
}
};
/* Send Request to Server*/
xhttp.open("POST", "getEmployee.php", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send("office_Room="+str_Office_Room);
}
</script>
</head>
<body>
<h1>TÌM NHÂN VIÊN THUỘC CÁC PHÒNG BAN</h1>
<h3>Hãy nhập tên phòng ban (Trong Bệnh Viện) :</h3>
<form action="">
Phòng Ban : <input type="text" id="txt_PhongBan">
<br/>
<button type="button" onclick="loadEmployee()">Tìm Kiếm</button>
</form>
<p>Tên Nhân Viên Có Trong Phòng Ban : <span id="txtHint"></span></p>
</body>
</html>
MÃ CODE TRONG FILE PHP :
<?php
$servername = "localhost:81";
$username = "admin";
$password = "admin-password-bidden";
$dbname = "my_website_db";
// tạo kết nối với cơ sở dữ liệu
$conn = mysqli_connect($servername, $username, $password, $dbname);
// kiểm tra kết nối có thành công ?
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
/* Sử dụng $_POST[] để lấy dữ liệu đã gửi qua từ mã javascript
* tại giao diện người dùng
* >> Lấy thông tin nhân viên thuộc phòng ban
*
*/
$sql = "SELECT id, firstname, lastname FROM MyOffice WHERE name_office = '".$_POST["office_Room"]."'";
$result = mysqli_query($conn, $sql);
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
echo "<table>";
echo "<thead>";
echo "<tr><th>Mã Nhân Viên</th> <th> HỌ </th> <th> TÊN </th></tr>";
echo "</thead>";
echo "<tbody>";
// Phản hồi thông tin lại phía Browser của người dùng
while($row = mysqli_fetch_assoc($result)) {
echo "<tr> <td>" . $row["id"]. "</td> <td>" . $row["firstname"]. "</td> <td>" . $row["lastname"]. "</td></tr>";
}
echo "</tbody>";
echo "</table>";
} else {
echo "0 results";
}
mysqli_close($conn);
?>
GIẢI THÍCH MÃ CODE TRÊN
XỬ LÝ VỚI JAVASCRIPT :
Đoạn mã javascript trên có nội dung xử lý :
+ Lấy giá trị văn bản nhập tại trường input có id txt_PhongBan
Phòng Ban : <input type=”text” id=”txt_PhongBan”>
Xử lý javascript : var str_Office_Room = document.getElementById(“txt_PhongBan”).value;
+ Thực hiện xử lý yêu cầu tới Server với POST :
/* Send Request to Server */
xhttp.open(“POST”, “getEmployee.php”, true);
xhttp.setRequestHeader(“Content-type”, “application/x-www-form-urlencoded”);
/* Gửi dữ liệu str_Office_Room tới Server */
xhttp.send(“office_Room=”+str_Office_Room);
XỬ LÝ VỚI FILE PHP :
+ Đầu tiên, thiết lập kết nối tới Cơ Sở Dữ Liệu. Việc thực hiện Cơ Sở Dữ Liệu thành công thì sẽ truy cập Select lấy dữ liệu từ Cơ Sở Dữ Liệu.
+ Nếu Kết nối thành công sẽ thiết lập câu lệnh lấy dữ liệu SELECT để lấy từ Bảng MyOffice; Các thông tin trong Bảng MyOffice được lấy bao gồm : Mã Nhân Viên, Họ của Nhân Viên, Tên của Nhân Viên.
$sql = “SELECT id, firstname, lastname FROM MyOffice WHERE name_office = ‘”.$_POST[“office_Room“].”‘”;
Trong câu lệnh SELECT sử dụng điều kiện là cột “Tên Phòng Ban” trong Bảng MyOffice bằng Tên phòng ban được nhập tại trường Input trên giao diện người dùng.
+ Sử dụng function num_rows() để kiểm tra xem có bao nhiêu Row dữ liệu được trả về. Nếu có nhiều hơn 0 row thì thực hiện < RESPONSE từ Server về giao diện người dùng bằng câu lệnh echo >.
+ Hàm fetch_assoc() để đặt tất cả các dữ liệu trả về trong một mảng để chúng ta có thể thực hiện lặp qua. Vòng lặp while() sẽ được sử dụng để lặp qua tập kết quả. Các dữ liệu được xử lý phù hợp trong vòng lặp while().
HÌNH ẢNH KẾT QUẢ CÓ ĐƯỢC :
HÌNH ẢNH 1 :

HÌNH ẢNH 2 :

HÌNH ẢNH 3 :
