Home >Backend Development >PHP Tutorial >About PHP - Interaction between AJAX and MySQL
AJAX can be used to communicate interactively with the database. It is very important for PHP. This article will explain it.
AJAX database example
The following example will demonstrate how a web page reads information from the database through AJAX:
The Websites table SQL file used in this tutorial: websites.sql.
Example
Select a website: Google Taobao Rookie Tutorial Weibo Facebook
Select the corresponding option, the user information will be displayed here...
Instance explanation - MySQL database
In the above example, the database table we use is as follows:
mysql> select * from websites;+----+--------------+---------------------------+-------+---------+| id | name | url | alexa | country |+----+--------------+---------------------------+-------+---------+| 1 | Google | https://www.google.cm/ | 1 | USA || 2 | 淘宝 | https://www.taobao.com/ | 13 | CN || 3 | 菜鸟教程 | http://www.runoob.com/ | 4689 | CN || 4 | 微博 | http://weibo.com/ | 20 | CN || 5 | Facebook | https://www.facebook.com/ | 3 | USA |+----+--------------+---------------------------+-------+---------+5 rows in set (0.01 sec)
Explanation of examples - HTML page
When the user selects a user in the above drop-down list, the function named "showSite()" will be executed. This function is triggered by the "onchange" event:
test.html File code:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> <script> function showSite(str){ if (str=="") { document.getElementById("txtHint").innerHTML=""; return; } if (window.XMLHttpRequest) { // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码 xmlhttp=new XMLHttpRequest(); } else { // IE6, IE5 浏览器执行代码 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("txtHint").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","getsite_mysql.php?q="+str,true); xmlhttp.send();} </script></head><body> <form><select name="users" onchange="showSite(this.value)"><option value="">选择一个网站:</option><option value="1">Google</option><option value="2">淘宝</option><option value="3">菜鸟教程</option><option value="4">微博</option><option value="5">Facebook</option></select></form><br><div id="txtHint"><b>网站信息显示在这里……</b></div> </body></html>
showSite() function will perform the following steps:
Check whether a website is selected
Create an XMLHttpRequest object
Create a function that is executed when the server response is ready
Send a request to a file on the server
Please note the parameters added to the end of the URL (q) (Contains the contents of the drop-down list)
PHP file
The server page called through JavaScript in the above paragraph is a PHP file named "getsite_mysql.php". The source code in
"getsite_mysql.php" will run a query against the MySQL database and return the results in an HTML table:
getsite_mysql.php File code:
<?php$q = isset($_GET["q"]) ? intval($_GET["q"]) : ''; if(empty($q)) { echo '请选择一个网站'; exit;} $con = mysqli_connect('localhost','root','123456');if (!$con){ die('Could not connect: ' . mysqli_error($con));}// 选择数据库mysqli_select_db($con,"test");// 设置编码,防止中文乱码mysqli_set_charset($con, "utf8"); $sql="SELECT * FROM Websites WHERE id = '".$q."'"; $result = mysqli_query($con,$sql); echo "<table border='1'> <tr> <th>ID</th> <th>网站名</th> <th>网站 URL</th> <th>Alexa 排名</th> <th>国家</th> </tr>"; while($row = mysqli_fetch_array($result)){ echo "<tr>"; echo "<td>" . $row['id'] . "</td>"; echo "<td>" . $row['name'] . "</td>"; echo "<td>" . $row['url'] . "</td>"; echo "<td>" . $row['alexa'] . "</td>"; echo "<td>" . $row['country'] . "</td>"; echo "</tr>";}echo "</table>"; mysqli_close($con);?>
Explanation: When a query is sent from JavaScript to a PHP file, what happens is:
PHP opens a connection to the MySQL database
Finds the selected user
Creates the HTML table, Fill in the data and send back the "txtHint" placeholder
This article provides a detailed explanation of the interaction between PHP - AJAX and MySQL. For more learning materials, please pay attention to the php Chinese website.
Related recommendations:
About PHP - The connection between AJAX and PHP
Related knowledge about PHP Simple XML
Related knowledge points about PHP XML DOM
The above is the detailed content of About PHP - Interaction between AJAX and MySQL. For more information, please follow other related articles on the PHP Chinese website!