PHP & AJAX - AGOLA PHP & AJAX - AGOLA

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; ?>

Các lý do cần đọc trước khi quyết định liên hệ tôi 

  1. Tham gia group Mua bán Google Ads và Google Shopping :

    https://www.facebook.com/groups/314513929300715

  2. Tham gia group mua bán cho thuê tài khoản BM Agency :

    https://www.facebook.com/groups/1204318359703229

  3. AGOLA chỉ cung cấp dịch vụ không có dịch vụ tư vấn hiểu tới đâu bán tới đó !
  4. Các dịch vụ liên quan đến hướng dẫn : diễn ra từ 5-30 phút thông qua teamview hoặc ultral thời gian càng ngắn giá tiền càng cao nên các bạn đọc kỹ trước khi sử dụng
  5. Các sản phẩm dịch vụ không có thương thảo giá và cũng không có hỏi thêm
  6. Không bán vĩnh viễn mọi dịch vụ mua nhầm đòi đổi sang gói dịch vụ khác
  7. Thông tin bảo hành gần như không có nhưng cũng có một số dịch vụ có bảo hành đề nghị đọc kỹ trước khi quyết định mua
  8. Quyết định mua hàng là đồng ý các điều khoản mua bán và điều khoản không được lấy lại tiền và không bồi hoàn
  9. Mua hàng thì xin đọc kỹ điều khoản ở từng mô tả trước khi quyết định nhấc máy liên hệ ở thông tin của từng gói dịch vụ
  10. Mọi giao dịch đều được phải bắt buộc chụp màn hình chuyển khoản gửi vào Zalo
  11. Các đối tượng cố ý chuyển tiền gói này để trục lợi sử dụng gói khác đều được coi là hình vi lừa đảo ! Cố ý ghi nội dung hiểu lầm về chuyển tiền để đôi co đòi sử dụng gói dịch vụ khác cũng vậy !
  12. Tôi là dân khối A nên việc viết sai lỗi chính tả thì kệ mẹ tôi thích thì mua không thích thì đừng soi đi ra chỗ khác do tôi không có soát lại chính tả nên các bạn đọc thay vì thắc mắc thì thông cảm giùm tôi ! miễn sao tôi truyền tải thông tin bạn đọc bạn thấy hiểu được bạn sử dụng không được bạn tìm bên khác
  13. Tôi không làm việc với bọn cử nhân viên là các công ty Agency , truyền thông gọi hỏi dò hỏi luyên thuyên ! Nếu cố tình tôi sẽ dùng CRM Agency cấm lock chạy Ads vĩnh viễn khi nhìn thấy đuôi theo rõi của doanh nghiệp đó mà tôi đã gán.
  14. Tôi không làm việc với bọn nào thì tôi chạy tiền tỷ tôi tiêu tiền tỷ nhưng chạy demo trước nếu ngon thì vít lớn nhưng sau 3 ngày thuê thấy đéo thấy như cam kết về ngân sách
  15. Tôi không hợp tác ăn chia hay kiểu Win Win đôi bên có lợi
  16. Tất cả những câu hỏi khi gọi điện khiến tôi nghĩ rằng bạn chưa đọc kỹ thông tin trên website sẽ được tôi từ chối vô điều kiện
  17. Không làm việc các công ty có các nhân vật nổi tiếng trên các đài báo truyền hình bởi vậy bớt quảng cáo
  18. Các đối tượng cố tình lên mạng tìm kiểm thông tin tôi và không có trao đổi được tôi dùng Zalo : O9O9.456.866 gửi STK thông tin thanh toán của tôi qua zalo đó mà vẫn chuyển tiền vào tài khoản của tôi được coi là hình vi lừa đảo cố tình trọc phá và lợi dụng sử dụng lừa đảo để mong muốn sử dụng dịch vụ của tôi nhưng vì cấm nên phải làm vậy
  19. Kiến thức của đại đa số dân trên mạng không sai mà chỉ đúng với bọn gà mờ mà thôi kiểu như bạn học lớp 1 cô giáo nói 1 không trừ được cho 2 lên cấp 2 cô giáo nói 1 trừ được cho 2 ! Lúc đó cô giáo cấp 1 hay thầy giáo cấp 2 không nói ai đúng ai sai được mà tại thời điểm đó bạn thấy nó đúng còn khi đi sâu vào nó đéo đúng 😀 ! Cũng như việc tôi bán dịch vụ cho dân trong nghề việc tôi có bắt mấy thằng cấp 1 nuốt kiến thức chuyên sâu của cấp 2 là không được bởi vậy dân nào hiểu sẽ liên hệ mua chứ đừng kiểu lơ mở hỏi cho vui cửa vui nhà

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Call Now Button
X