AJAX はデータベースと対話的に通信するために使用できます。これは PHP にとって非常に重要です。この記事ではそれについて説明します。
AJAX データベースの例
次の例は、Web ページが AJAX を介してデータベースから情報を読み取る方法を示します。
このチュートリアルで使用される Websites テーブル SQL ファイル: Websites.sql。
例
ウェブサイトを選択してください: Google Taabao Rookie Tutorial Weibo Facebook
対応するオプションを選択すると、ユーザー情報がここに表示されます...
例の説明 - MySQL データベース
上記の例では、使用するデータベース テーブルは次のとおりです:
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)
例の説明 - HTML ページ
ユーザーが上記のドロップダウン リストでユーザーを選択すると、「showSite()」という名前の関数が表示されます。実行されました。この関数は、「onchange」イベントによってトリガーされます:
test.html ファイル コード:
<!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() 関数は次の手順を実行します:
Web サイトが選択されているかどうかを確認する
XMLHttpRequest オブジェクトを作成する
いつ作成されるサーバー応答の準備ができています 実行された関数
はサーバー上のファイルにリクエストを送信します
URL (ドロップダウンリストの内容を含む) の末尾に追加されたパラメーター (q) に注意してください
PHP ファイル
上記でJavaScriptを通じて呼び出されたサーバーページは、「getsite_mysql.php」というPHPファイル名になります。
"getsite_mysql.php" のソース コードは、MySQL データベースに対してクエリを実行し、結果を HTML テーブルに返します:
getsite_mysql.php ファイル コード:
<?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);?>
説明: クエリが JavaScript から PHP に送信されるときファイル , 次のことが起こります:
PHP は MySQL データベースへの接続を開きます
選択したユーザーを検索します
HTML テーブルを作成し、データを入力し、「txtHint」プレースホルダーを送り返します
この記事は PHP に関するものです。 AJAX と MySQL の相互作用について詳しく説明されています。詳細については、php 中国語 Web サイトを参照してください。
関連する推奨事項:
以上がPHP について - AJAX と MySQL 間の対話の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。