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

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

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

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

11962閲覧

SQlite等からデータをhtmlに表示して、社内の人が気軽に見られるようにしたい

tenmusu

総合スコア1

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

1グッド

1クリップ

投稿2021/10/24 09:12

前提・実現したいこと

表題の通りで、実装方法を色々調べたのですがpythonやnode.jsなどサーバーを使う方法しか出てきませんでした。
社内のフォルダにDBの内容が見られるhtmlを置いておけば、アクセスした人がサーバーを毎度つながずにみられる方法はないのでしょうか。
サーバーに対して知識が浅いため勘違いをしていたら申し訳ありません。

試したこと

Accessのものが一番理想に近かったのですが、IEのブラウザでしか表示できないので違う方法を探しています。

Accessで試してみたもののURL↓
http://java-script.seesaa.net/category/3196246-1.html

どうぞよろしくお願いいたします。

popy👍を押しています

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

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

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

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

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

surface_0

2021/10/25 05:00

なんでそうしたいのかがちょっと分からないのですが、 社内向けならばGoogleスプレッドシート等では駄目でしょうか? 駄目な場合は理由を詳しく教えてください。
tenmusu

2021/10/25 11:25

質問ありがとうございます。 最初はExcelにデータを入れていたのですが、情報量がだいぶ多くなってきて開く度に若干の時間待たなければいけないようになってしまい、DBにいれることで見たい時にすぐ見れるようにしたいと思い調べています。
guest

回答1

0

ベストアンサー

ローカルのSQLiteファイルを読み込むsql.jsというライブラリがありましたので、試しにサンプルを以下実装してみました。

https://sql.js.org/documentation/

text

1. 2├─ index.html 3└─ data.sqlite

sql

1CREATE TABLE "users" 2 ( 3 "id" integer NOT NULL, 4 "name" varchar NOT NULL, 5 PRIMARY KEY (id) 6 ) 7; 8 9INSERT INTO "users" 10 ("id", "name") 11VALUES 12 ('1', 'Tanaka Tarou'), 13 ('2', 'Kimura Hanako') 14;

html

1<div> 2 <input id="file-field" type="file" accept=".sqlite"> 3</div> 4 5<div> 6 <input id="query-field" placeholder="SELECT * FROM users;" disabled> 7 8 <button id="execute-button" disabled>EXECUTE QUERY</button> 9</div> 10 11<div> 12 <pre id="result-text"></pre> 13</div> 14 15<script src="https://cdnjs.cloudflare.com/ajax/libs/sql.js/1.6.1/sql-wasm.min.js"></script> 16<script> 17initSqlJs({ 18 locateFile: (file) => `https://cdnjs.cloudflare.com/ajax/libs/sql.js/1.6.1/sql-wasm.wasm`, 19}).then((SQL) => { 20 let db = null; 21 22 const fileField = document.querySelector("#file-field"); 23 const queryField = document.querySelector("#query-field"); 24 const executeButton = document.querySelector("#execute-button"); 25 const resultText = document.querySelector("#result-text"); 26 27 fileField.addEventListener("change", (event) => { 28 const file = fileField.files.item(0); 29 30 if (!file) { 31 return; 32 } 33 34 const fileReader = new FileReader(); 35 36 fileReader.addEventListener("load", (event) => { 37 db = new SQL.Database(new Uint8Array(fileReader.result)); 38 39 fileField.disabled = true; 40 41 queryField.disabled = false; 42 43 executeButton.disabled = false; 44 }); 45 46 fileReader.readAsArrayBuffer(file); 47 }); 48 49 executeButton.addEventListener("click", (event) => { 50 const rows = db.exec(queryField.value); 51 52 resultText.innerHTML = JSON.stringify(rows, null, " "); 53 }); 54}); 55</script>

イメージ説明

また、HTMLで表示をカスタマイズしたいとかでなければ、TablePlusなどDBMSを調べてみてもいいかもしれません。

https://www.youtube.com/watch?v=xtaIeSHb4LY

投稿2021/10/25 08:53

編集2021/10/25 08:58
KAOsaka

総合スコア531

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

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

tenmusu

2021/10/25 11:38

回答ありがとうございます。 sql.jsやTablePlusというものがあるんですね。どちらも初耳でした! いずれHTMLで表なども見られるようにと思っていて前者の方が近いかな?と思っているので、明日それぞれ試してみようと思います。
tenmusu

2021/10/31 00:02

sql.jsで実装してみたところ動作が確認できました! 教えてくださったサンプルをもとに変更していこうとしたのですが、2つわからないことがあったのでご質問させていただきます。 1)DBの使用するテーブルが決まっている場合で実装してみようかと、fileFieldの中にDBのファイルパスをそのままいれてもうまくいきませんでした。 2)DBからとりだした結果を表にする場合の処理がわからず困っています。 rowsの中身を一つずつ取り出そうとしたのですがうまくいかないので、その方法があれば教えていただきたいです。
KAOsaka

2021/10/31 02:19

現状どのような実装をされているかわからないので、新しい質問をたててソースコードを掲載してもらえますか?
tenmusu

2021/11/01 22:30

ご返答ありがとうございます! 一度こちらの質問を締め切って、新しく質問させていただきますね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問