JavaScriptでテキストに値を入力し、その値に基づいてデータベースにクエリを実行する方法
Web アプリケーションの開発により、JavaScript は最も人気のあるクライアント側言語の 1 つになりました。 JavaScript は、動的な Web ページ、フォーム検証、対話型ユーザー インターフェイス、アニメーション効果など、さまざまな機能を実装できます。この記事では、JavaScript を使用して、テキスト ボックスに値を入力した後、自動的にデータベースにクエリを実行する方法を紹介します。
- クエリ データを決定する
JavaScript を使用してデータベースにクエリを実行する前に、クエリするデータを決定する必要があります。データベース クエリを使用すると、必要なデータ セットを取得できます。この例では、名前、成績など、すべての学生に関する情報が含まれる学生管理システム データベースをシミュレートします。ユーザーが入力ボックスに生徒の名前を入力すると、JavaScript を使用してデータベースに自動的にクエリを実行し、生徒の成績情報を表示します。
- データベース接続の確立
データベースにクエリを実行するには、データベースに接続する必要があります。 AJAX テクノロジーを使用すると、ページを更新せずにサーバーにリクエストを送信し、応答を取得できます。この例では、XMLHttpRequest オブジェクトを使用して AJAX リクエストを実装します。以下は、データベース接続を確立する例です。
var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { // 处理响应数据 } }; xmlhttp.open("GET", "getstudentinfo.php?q=" + str, true); xmlhttp.send();
上記のコードでは、XMLHttpRequest オブジェクトを使用して新しい AJAX リクエストを作成します。 readyState が変化すると、コールバック関数を呼び出して応答データを処理します。このうち、readyState 属性は AJAX リクエストのステータスを表し、status 属性はレスポンスのステータスコードを表します。 open() メソッドを呼び出すことで、要求された URL と要求タイプ (「GET」または「POST」) を指定できます。 send() メソッドを呼び出した後、AJAX リクエストがサーバーに送信されます。
- 入力ボックス イベントをリッスンする
ユーザーが入力ボックスに文字を入力すると、対応する結果を取得するためにリアルタイムでデータベースにクエリを実行する必要があります。入力ボックスのイベントをリッスンするには、addEventListener() メソッドを使用してイベント ハンドラーを入力ボックスに関連付けます。以下は、入力ボックス イベントをリッスンする例です:
document.getElementById("input").addEventListener("keyup", function() { var input_value = document.getElementById("input").value; // 查询数据库 });
上記のコードでは、addEventListener() メソッドを通じて「keyup」イベント ハンドラーを登録しました。ユーザーが入力ボックスに文字を入力すると、イベントがトリガーされます。 document.getElementById() メソッドを通じて入力ボックス要素を取得し、次に value 属性を使用して入力ボックスの値を取得します。
- データベースにクエリを実行して結果を表示する
ユーザーが入力ボックスに文字を入力すると、対応するデータを取得するためにサーバーに AJAX リクエストを送信する必要があります。 。データベースにクエリを実行して結果を表示する例を次に示します。
document.getElementById("input").addEventListener("keyup", function() { var input_value = document.getElementById("input").value; var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById("result").innerHTML = this.responseText; } }; xmlhttp.open("GET", "getstudentinfo.php?q=" + input_value, true); xmlhttp.send(); });
上記のコードでは、入力値を含む AJAX リクエストをサーバーに送信し、サーバーは学生の情報を含む HTML フラグメントを返します。情報。 readyState が変化すると、応答データが result 要素に保存され、生徒の情報を表示するために使用されます。
- 自動補完の実現
入力ボックスに値を入力するとデータベースに自動的にクエリを実行するだけでなく、自動補完機能も実装できます。ユーザーが入力ボックスに文字を入力すると、利用可能なオプションを含むドロップダウン メニューを表示できます。オートコンプリートの実装例は次のとおりです:
document.getElementById("input").addEventListener("keyup", function() { var input_value = document.getElementById("input").value; var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { var options = JSON.parse(this.responseText); var ul = document.getElementById("auto-complete"); ul.innerHTML = ""; for (var i = 0; i < options.length; i++) { var li = document.createElement("li"); var a = document.createElement("a"); a.appendChild(document.createTextNode(options[i])); a.setAttribute("href", "#"); li.appendChild(a); ul.appendChild(li); } if (options.length > 0) { ul.style.display = "block"; } else { ul.style.display = "none"; } } }; xmlhttp.open("GET", "getstudentnames.php?q=" + input_value, true); xmlhttp.send(); });
上記のコードでは、入力値を含む AJAX リクエストをサーバーに送信し、サーバーは利用可能なオプションを含む JSON 配列を返します。 JSON.parse() メソッドを使用して、応答データを JavaScript オブジェクトに変換します。次に、オプションを含む順序なしリストを作成し、オートコンプリート要素に追加します。オプションの数が 0 より大きい場合は、ドロップダウン メニューが表示されます。
- #結論
以上がJavaScriptでテキストに値を入力し、その値に基づいてデータベースにクエリを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











この記事では、functionコンポーネントでのデータフェッチやDOM操作などの副作用を管理するためのフックであるReactの使用Effectについて説明します。メモリリークなどの問題を防ぐための使用、一般的な副作用、およびクリーンアップについて説明します。

怠zyな読み込みは、必要になるまでコンテンツの読み込みを遅延させ、初期負荷時間とサーバーの負荷を削減することにより、Webパフォーマンスとユーザーエクスペリエンスを改善します。

JavaScriptの高次関数は、抽象化、共通パターン、および最適化技術を通じて、コードの簡潔さ、再利用性、モジュール性、およびパフォーマンスを強化します。

この記事では、JavaScriptのカレーについて説明します。これは、マルチアーグメント関数を単一argument関数シーケンスに変換する手法です。 Curryingの実装、部分的なアプリケーションなどの利点、実用的な用途、コード読み取りの強化を調査します

この記事では、Virtual DOMツリーを比較してDOMを効率的に更新するReactの調整アルゴリズムについて説明します。パフォーマンスの利点、最適化技術、ユーザーエクスペリエンスへの影響について説明します。

この記事では、ReactのUseContextを説明しています。これにより、小道具掘削を避けることで国家管理を簡素化します。再レンダーの削減により、集中状態やパフォーマンスの改善などの利点について説明します。

記事では、PreventDefault()メソッドを使用して、イベントハンドラーのデフォルト動作の防止、ユーザーエクスペリエンスの強化などの利点、およびアクセシビリティの懸念などの潜在的な問題について説明します。

この記事では、予測可能性、パフォーマンス、ユースケースなどの側面に焦点を当てた、Reactの制御されていないコンポーネントと制御されていないコンポーネントの利点と欠点について説明します。それらを選択する際に考慮することを要因についてアドバイスします。
