PHP & AJAX
AJAX là gì?
AJAX là viết tắt của Asynchronous JavaScript and XML. AJAX là một kỹ thuật mới để tạo các ứng dụng web tốt hơn, nhanh hơn, và có tính tương tác hơn với sự giúp đỡ của XML, HTML, CSS và JavaScript.
Ứng dụng web theo qui ước truyền tải thông tin tới và từ Server bởi sử dụng các request mang tính đồng bộ. Nghĩa là, bạn điền một form, nhấn nút Submit, và được hướng tới một trang mới với thông tin mới từ Server đó.
Với AJAX, khi nút Submit được nhấn, JavaScript sẽ tạo một request tới Server, thông dịch kết quả và cập nhật màn hình hiện tại. Người dùng sẽ không bao giờ biết những gì được truyền tải tới Server.
Ví dụ về PHP và AJAX
Để minh họa rõ ràng rằng nó là dễ dàng để truy cập thông tin từ một Database bởi sử dụng AJAX và PHP, chúng tôi xây dựng các truy vấn MySQL và hiển thị kết quả trên "ajax.html". Nhưng trước khi tiến hành, chúng ta cần thực hiện các công việc cơ sở. Tạo một Table bởi sử dụng lệnh sau.
CREATE TABLE `ajax_example` (
`name` varchar(50) NOT NULL,
`age` int(11) NOT NULL,
`sex` varchar(1) NOT NULL,
`wpm` int(11) NOT NULL,
PRIMARY KEY (`name`)
)
Bây giờ, truyền dữ liệu sau vào trong Table này bởi sử dụng các lệnh SQL sau:
INSERT INTO `ajax_example` VALUES ('Nam', 120, 'm', 20);
INSERT INTO `ajax_example` VALUES ('Hoang', 75, 'm', 44);
INSERT INTO `ajax_example` VALUES ('Manh', 45, 'm', 87);
INSERT INTO `ajax_example` VALUES ('Huong', 22, 'f', 72);
INSERT INTO `ajax_example` VALUES ('Kien', 27, 'f', 0);
INSERT INTO `ajax_example` VALUES ('Trung', 35, 'f', 90);
HTML file trên Client side
Bây giờ chúng ta có HTML file trên Client side là ajax.html và nó sẽ có code sau:
<html> <body> <script language="javascript" type="text/javascript"> <!-- //trình duyệt hỗ trợ code function ajaxFunction(){ var ajaxRequest; // khai báo một biến để làm việc với Ajax try{ // các trình duyệt Opera 8.0+, Firefox, Safari ajaxRequest = new XMLHttpRequest(); } catch (e){ // trình duyệt IE try{ ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try{ ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e){ // xử lý ngoại lệ alert("Không hỗ trợ!"); return false; } } } // Tạo một hàm mà sẽ nhận dữ liệu được gửi // từ server và sẽ cập nhật khu vực div // trong cùng page nỳ. ajaxRequest.onreadystatechange = function(){ if(ajaxRequest.readyState == 4){ var ajaxDisplay = document.getElementById('ajaxDiv'); ajaxDisplay.innerHTML = ajaxRequest.responseText; } } // Bây giờ lấy các giá trị từ người dùng và // truyền nó tới server script. var age = document.getElementById('age').value; var wpm = document.getElementById('wpm').value; var sex = document.getElementById('sex').value; var queryString = "?age=" + age ; queryString += "&wpm=" + wpm + "&sex=" + sex; ajaxRequest.open("GET", "ajax-example.php" + queryString, true); ajaxRequest.send(null); } //--> </script> <form name='myForm'> Max Age: <input type='text' id='age' /> <br /> Max WPM: <input type='text' id='wpm' /> <br /> Sex: <select id='sex'> <option value="m">m</option> <option value="f">f</option> </select> <input type='button' onclick='ajaxFunction()' value='Query MySQL'/> </form> <div id='ajaxDiv'>Kết quả của bạn sẽ hiển thị ở đây!!!</div> </body> </html>
Ghi chú − Cách truyền các biến trong Query là tuân theo chuẩn HTTP và có form sau.
URL?variable1=value1;&variable2=value2;
PHP file trên Server side
Lúc này, script trên Client side đã sẵn sàng. Giờ chúng ta phải viết script trên Server side, mà sẽ lấy age, wpm và sex từ Database và sẽ gửi nó trở lại tới Client. Đặt dòng code sau vào trong "ajax-example.php" file.
<?php $dbhost = "localhost"; $dbuser = "tennguoidung"; $dbpass = "matkhau"; $dbname = "tencosodulieu"; //Kết nối với MySQL Server mysql_connect($dbhost, $dbuser, $dbpass); //chọn Database mysql_select_db($dbname) or die(mysql_error()); // lấy dữ liệu $age = $_GET['age']; $sex = $_GET['sex']; $wpm = $_GET['wpm']; // phần này giúp ngăn cản SQL Injection $age = mysql_real_escape_string($age); $sex = mysql_real_escape_string($sex); $wpm = mysql_real_escape_string($wpm); //truy vấn $query = "SELECT * FROM ajax_example WHERE sex = '$sex'"; if(is_numeric($age)) $query .= " AND age <= $age"; if(is_numeric($wpm)) $query .= " AND wpm <= $wpm"; //thực thi truy vấn $qry_result = mysql_query($query) or die(mysql_error()); //định dạng chuỗi kết quả $display_string = "<table>"; $display_string .= "<tr>"; $display_string .= "<th>Name</th>"; $display_string .= "<th>Age</th>"; $display_string .= "<th>Sex</th>"; $display_string .= "<th>WPM</th>"; $display_string .= "</tr>"; // chèn một hàng mới vào trong bảng while($row = mysql_fetch_array($qry_result)){ $display_string .= "<tr>"; $display_string .= "<td>$row[name]</td>"; $display_string .= "<td>$row[age]</td>"; $display_string .= "<td>$row[sex]</td>"; $display_string .= "<td>$row[wpm]</td>"; $display_string .= "</tr>"; } echo "Truy vấn: " . $query . "<br />"; $display_string .= "</table>"; echo $display_string; ?>
Theo tutorialspoint
Bài trước: Đa luồng (Multithread) trong C#
Bài tiếp: PHP & XML
Bạn nên đọc
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:


Cũ vẫn chất
-
Code Sơn Hải Kinh 3D Mobile mới nhất
Hôm qua -
Những câu nói hay về tháng 7, stt chào tháng 7 yêu thương
Hôm qua -
14/6 là ngày gì?
Hôm qua -
Cách bật tùy chọn nhà phát triển và tắt nó trên Android
Hôm qua -
Cách đăng ký cấp lại thẻ CCCD gắn chip online mẫu mới
Hôm qua -
Lời chúc ngày Gia đình Việt Nam 28/6 hay và ý nghĩa
Hôm qua 2 -
Code Vương Giả Vinh Diệu, code Honor of Kings mới nhất
Hôm qua -
Tải full bộ hình nền iOS 18 đầy đủ với độ phân giải cao
Hôm qua -
Code Lăng Vân Chi Kiếm mới nhất và cách nhập code
Hôm qua -
Cách chia sẻ album ảnh trên iPhone
Hôm qua