質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.36%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

1627閲覧

autocomplete DB大量データ表示処理速度改善したい

test1234

総合スコア8

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2021/04/20 02:35

編集2021/04/20 02:59

DBからデータを取得し、取得したデータをautocompleteにて抽出しています。
データが約10000レコードあるため、表示に時間がかかり実用的ではありません。
何か改善策はありますでしょうか。

ご教示お願い致します。

<form action='#' name='form_head' method='post'> <table id='den_tbl'> <thead><tr><th>品目コード/商品名/型式</th><th>数量</th><th>単価</th></thead> <tbody> <tr> <td> <input name='h_name[]' type='search' class='name' autocomplete='on' placeholder='xxx' list='name_list' value = '".$h_name[$i]."' /> <datalist id='name_list'>   /***データベースから10000レコード取得***/ $sql="select s_code,s_name,s_kata from master where s_kubun = '1' order by s_kata desc "; $result=mysql_query($sql); while($row=mysql_fetch_array($result)){        $code_get = $row['s_code']; echo "<option value=".$code_get.">"; } </datalist> </td> /*省略*/ </form>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

K_3578

2021/04/20 02:40

ソースコードはMarkDownの<code>ブロック内に貼り付けてください。 ```言語名(HTML,CSS等) ソースコード ``` 上記のようにしてみてください。
m.ts10806

2021/04/20 02:40

コードはマークダウンのcode機能にてご提示ください あと/tbodyの直後に/formがきていてhtml構文的にまずいところもおるのでなおされたほうが良いです。 formが正しく要素を認識しない要因になりえます
test1234

2021/04/20 02:42

失礼いたしました。マークダウンにて掲示いたしました。
tabuu

2021/04/20 02:48

>データが約10000レコードあるため、表示に時間がかかり実用的ではありません。 どこがボトルネックでしょうか? ・DBアクセス? ・サーバのHTML出力? ・ブラウザのHTML描画?
test1234

2021/04/20 03:01

DBアクセス、html出力です
K_3578

2021/04/20 03:09

>javascriptの知識がないため 今から勉強しよう。コピペで動くコード切り貼りしても何の意味も無い
guest

回答2

0

ベストアンサー

listをアクセス時ではなく入力時に非同期で取得して作る
一定文字数以上入力したら発火するようにする

とか。

投稿2021/04/20 02:39

m.ts10806

総合スコア80875

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

test1234

2021/04/20 02:45

「一定文字数以上入力したら発火するようにする」が理想です。HTMLでも可能でしょうか。
m.ts10806

2021/04/20 02:57

htmlだけでは無理です。 Javascriptで制御してください
test1234

2021/04/20 03:05

申し訳ありません、javascriptの知識がないため、可能でしたらご教示頂きたいです。
m.ts10806

2021/04/20 03:42

一個ずつ調べてやってみてください。 1。入力したときにイベント発生 2。イベント内で入力内容取得 3。入力内容の文字数カウント 4。決めた文字数未満なら処理しない 5。決めた文字数以上なら非同期通信で入力内容送信 6。送信した入力内容をそのまま返して受けとって出力確認 7。送信された入力内容で検索 8。検索結果をjsonなどで返却し出力確認 9。返却されたデータを整形してlist出力 機能的には「サジェスチョン」と呼ばれるものになります。
退会済みユーザー

退会済みユーザー

2021/04/20 07:15

「php js ajax サジェスチョン」でググると、解説記事がいっぱい見つかるよ
m.ts10806

2021/04/20 07:19

autocompleteに囚われすぎても良くないですね。機能を使うために作るわけじゃないですし。
m.ts10806

2021/04/21 09:17

いずれも公式マニュアルを参照してください。どこかの誰が書いた記事は基本嘘だと思ってください。 参照するにしても最低でも1、2年以内にアップデートされたものを。
guest

0

参考にさせていただきます。

投稿2021/04/20 07:44

test1234

総合スコア8

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/04/20 07:45

この投稿は「回答」でもなく「解決」にもなっていません。
K_3578

2021/04/20 07:46

これを回答とは思えませんがコメントと間違えたんでしょうかね
test1234

2021/04/20 08:01

失礼しました。間違えて書き込んでしまいました。
m.ts10806

2021/04/20 08:02

ひとまず「受付中」に戻し、当投稿を削除依頼しておいてください
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問