最新のWeb開発のチュートリアル
×

PHP チュートリアル

PHP HOME PHP イントロ PHP インストール PHP 構文 PHP 変数 PHP エコー/印刷 PHP データの種類 PHP ストリング PHP 定数 PHP 演算子 PHP If...Else...Elseif PHP Switch PHP whileループ PHP Forループ PHP 機能 PHP 配列 PHP 配列のソート PHP スーパーグローバル

PHP 取り扱い

PHP フォーム 取り扱い PHP フォーム 検証 PHP フォーム 必須 PHP フォーム URL/E-mail PHP フォーム コンプリート

PHP 高度な

PHP 多次元配列 PHP 日時 PHP 含めます PHP ファイル 取り扱い PHP ファイル オープン/読みます PHP ファイル 作成/書きます PHP ファイル アップロード PHP Cookies PHP Sessions PHP フィルター PHP Filters 高度な PHP エラー 取り扱い PHP 例外

MySQL Database

MySQL データベース MySQL 接続 MySQL Create DB MySQL Create 表 MySQL Insert Data MySQL 最後のIDを取得します MySQL 複数の挿入 MySQL Prepared MySQL Select Data MySQL Delete Data MySQL Update Data MySQL Limit Data

PHP - XML

PHP XML パーサー PHP SimpleXML Parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX イントロ AJAX PHP AJAX データベース AJAX XML AJAX ライブ検索 AJAX RSSリーダー AJAX 世論調査

PHP Examples

PHP 例 PHP クイズ PHP 証明書

PHP 参照

PHP アレイ PHP カレンダー PHP 日付 PHP ディレクトリ PHP エラー PHP ファイルシステム PHP フィルタ PHP FTP PHP HTTP PHP Libxml PHP 郵便物 PHP 数学 PHP その他 PHP MySQLiを PHP SimpleXML PHP 文字列 PHP XML PHP Zip PHP 時間帯

 

PHP - AJAXとMySQL


AJAXは、データベースとの双方向通信のために使用することができます。


AJAXデータベースの例

次の例では、Webページは、AJAXを使用してデータベースから情報を取り出すことができる方法を紹介します:


Person info will be listed here...

一例を説明 - MySQLデータベースを

私たちは、上記の例で使用するデータベース・テーブルには、次のようになります。

ID ファーストネーム 苗字 年齢 出身地 ジョブ
1 ピーター グリフィン 41 クアホッグ 醸造所
2 ロイス グリフィン 40 ニューポート ピアノの先生
3 ジョセフ スワンソン 39 クアホッグ 警察官
4 グレン 泥濘 41 クアホッグ パイロット


一例を説明しました

ユーザは、上記のドロップダウンリスト内の人物を選択した場合、上記の例では、呼び出された関数" showUser() "が実行されます。

関数はのonchangeイベントによってトリガされます。

ここではHTMLコードは次のとおりです。

<html>
<head>
<script>
function showUser(str) {
    if (str == "") {
        document.getElementById("txtHint").innerHTML = "";
        return;
    } else {
        if (window.XMLHttpRequest) {
            // code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
        } else {
            // code for 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","getuser.php?q="+str,true);
        xmlhttp.send();
    }
}
</script>
</head>
<body>

<form>
<select name="users" onchange="showUser(this.value)">
  <option value="">Select a person:</option>
  <option value="1">Peter Griffin</option>
  <option value="2">Lois Griffin</option>
  <option value="3">Joseph Swanson</option>
  <option value="4">Glenn Quagmire</option>
  </select>
</form>
<br>
<div id="txtHint"><b>Person info will be listed here...</b></div>

</body>
</html>
»実行例

コードの説明:

何人が選択されていない場合はまず、確認してください(str == "") 何人が選択されていない場合、txtHintプレースホルダの内容をクリアして、機能を終了します。

人が選択されている場合は、次の手順を実行します。

  • XMLHttpRequestオブジェクトを作成します。
  • サーバーの応答が準備ができたときに実行する関数を作成します
  • サーバー上のファイルへの要求をオフに送ります
  • パラメータことに注意してください(q) (ドロップダウンリストの内容を)URLに追加されます

PHPファイル

上記のJavaScriptによって呼び出されたサーバー上のページと呼ばれるPHPファイルである"getuser.php"

ソースコード"getuser.php" MySQLデータベースに対してクエリを実行し、HTMLテーブルに結果を返します:

<!DOCTYPE html>
<html>
<head>
<style>
table {
    width: 100%;
    border-collapse: collapse;
}

table, td, th {
    border: 1px solid black;
    padding: 5px;
}

th {text-align: left;}
</style>
</head>
<body>

<?php
$q = intval($_GET['q']);

$con = mysqli_connect('localhost','peter','abc123','my_db');
if (!$con) {
    die('Could not connect: ' . mysqli_error($con));
}

mysqli_select_db($con,"ajax_demo");
$sql="SELECT * FROM user WHERE id = '".$q."'";
$result = mysqli_query($con,$sql);

echo "<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
<th>Hometown</th>
<th>Job</th>
</tr>";
while($row = mysqli_fetch_array($result)) {
    echo "<tr>";
    echo "<td>" . $row['FirstName'] . "</td>";
    echo "<td>" . $row['LastName'] . "</td>";
    echo "<td>" . $row['Age'] . "</td>";
    echo "<td>" . $row['Hometown'] . "</td>";
    echo "<td>" . $row['Job'] . "</td>";
    echo "</tr>";
}
echo "</table>";
mysqli_close($con);
?>
</body>
</html>

説明:照会は、PHPファイルへのJavaScriptから送信されると、次のことが起こります。

  1. PHPは、MySQLサーバへの接続をオープン
  2. 正しい人が発見されます
  3. HTMLテーブル、作成したデータで満たされ、そしてバックに送られる"txtHint"プレースホルダ