• ベストアンサー

JavaScriptでSQLiteの値を使いたい

プログラミング初心者です。 JavaScriptで、ユーザーが入力した値に応じて金額を計算するプログラム(金額=アイテムの値段×個数、ユーザーはフォームにて個数を入力、アイテムの値段はSQLiteに存在)を書いているのですが、計算過程でSQLiteに保存してあるアイテムの値段(itemsテーブルの各アイテムのchargeカラムの値)を使用する必要があります。 これを実現するためにはどのような方法があるでしょうか。また、どの方法がベストでしょうか。 回答よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Ogre7077
  • ベストアンサー率65% (170/258)
回答No.1

Web ブラウザ上で実行される JavaScript から、SQLite を参照する方法でしょうか。 案1. ブラウザに内蔵されている Web SQL Database を使う http://dev.w3.org/html5/webdatabase/ ただし規格としてダメ出しされたので将来性はありません 案2. Webサーバーに CGI/Servlet/ASP などの手段で WebAPI サービスを作成する JavaScript からは AJAX で「アイテムの値段を教えろ」の要求を投げ、 WebAPI サービスは SQLite を参照した結果の応答を返す 案3. フォームから個数をPOST送信して、計算結果の画面に遷移する 送信先は CGI/Servlet/ASP で作成し、SQLite を参照した結果を元に計算して、 金額を含むHTML画面の応答を返す お勧めは案3、次いで案2です

dwyane_messi
質問者

お礼

ありがとうございます。参考にさせていただきます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • SQLiteのREAL型について

    SQLiteのREAL型についてC#プログラミングでfloat型として扱う場合に、 Insert文でREAL型に「9999999.999999」と値を入れた場合に Select文で値を取得すると、「1E+07」で返ってきました。 「9999999.999999」という値で取得する方法がわからないためご教授いただきたいです。 申し訳ございませんが、よろしくお願いします。

  • 同じ値になりますか?

    おはようございます。 レストランなどのサービスチャージを計算していて気になったことがあったので質問します。 私の使用しているシステムではサービスチャージの計算方法は小計の10%で端数を四捨五入します。 例えば5555円の小計だと、サービスチャージは556円になります。 なので、合計の支払い金額は 小計+(小計x0.1<四捨五入>)=支払い金額 となります。 私の同僚がこの計算方法をドキュメントにおこしていて、それを見ると (小計x1.1)<四捨五入>=支払い金額 にしていました。 いろんな値で確認していたんですが同じ値になります。 が私あんまり得意では無くて(笑)皆さんに確認して頂きたいのです。 私の同僚の計算方法でも常に同じ結果になりますか? 宜しくお願いします!

  • 同じ値になりますか?

    こんにちは。宜しくお願いします。 レストランのサービスチャージの計算方法で気になった箇所があったので質問します。サービスチャージは小計の10%になります。 私の使用しているレストランのレジシステムは 小計+(小計の10%で端数は四捨五入)=支払い金額 になります。 5555円が小計だと、サービスチャージは556円になります。 私の同僚がこの計算方法として 小計の110%で端数を切り捨て=支払い金額 と言ってました。 いろいろな値で試しましたがおんなじ値が出ますが、 皆さんに確認してもらいたく投稿しました。 宜しくお願いします。

  • SELECTした値との比較

    SELECT (`総額` / `個数`) FROM tb_item で`総額`を`個数`で割った単価(のような)値が取得できるものとします。 このとき、この「計算で出た単価」と「10,000という値」を比較して大きいほうの値を返すクエリはどのように書くのでしょうか? なんとなく、 SELECT MAX(`総額` / `個数`, 10000) FROM tb_item のような感じで取得できるような関数を探していますが、MAXだと列の中で最大値を取得してしまうので渡しが使いたい内容と違います。 サブクエリを使わずになるべく簡潔に書く方法を知りたいです。 どうぞよろしくお願い致します。

    • ベストアンサー
    • MySQL
  • JTableで入力すると値が変化する方法ってあります?

    いつもお世話になっています。 質問なのですが、JTable関連で困っています。 今、個数と値段、そしてその2つをかけたもの(合計)の3列のテーブルを作っています。 個数と値段を打ち込ませるようにはしているのですが、合計はその2つの値を自動的に計算(掛け算)して出力させたいのです。 どのような方法がありますか? AbstructTableModelを継承してsetValueAt()とgetValueAt()をいじるのかなと思い何度も試しては見たのですがエラーばかりなのでどうも違うようなのです… たぶんいろんな方法があるとは思うのですが、こういったのがあるよってものでもいいのでアドバイスよろしくお願いします。

    • ベストアンサー
    • Java
  • 2つのDBにある値の差分値で並び替えたい

    SQLite3とPHPを使っているのですが、他のデータベースでも同じだと思うので一般的な質問になりますがよろしくお願い致します。 SELECTでデータを並び替えて抽出するにはORDER BYを使いますが、例えば2つのデータベースがあってそれぞれのカラムにある数値同士の差を降順、昇順で並び替えるにはどのような方法があるのでしょうか? 「データベースDB1のvalueカラムにある値」 - 「データベースDB2のvalueカラムにある値」 = 差分 この差分を降順、昇順で並び替えて取得したいのですが、このような場合は一度配列に格納しておいて、その配列を並び替えることになるのですか? それともデータベースのクエリーでそのようなことが可能なのでしょうか? もう一つお聞きしたいのは、「同じデータベース内での2つのカラムの値の差分で並び替え」したい場合もお教えください。 どうぞよろしくお願い致します。

  • javascriptで表(テーブル)の自動作成

    現在javascriptで簡単なシミュレーションツールの方を作成しています。 例として りんご100円を [10]個買いました。※[ ]はテキストボックスでユーザーが自由に入力できます。 ボタンをクリックするとりんごの合計の値段が計算されます。 買物金額は[1000]円です。※[ ]はテキストボックスでjavascriptによる計算結果が表示されます。 この処理結果を表に表示させる(自動作成)ということはそもそも可能でしょうか?(下のような感じで) -----------------------------------   商品  金額  個数  合計金額 -----------------------------------  りんご   100     10    1000 ----------------------------------- 表を作るタイミングとしてはボタンをクリックした後、テキストボックスの値を使って処理を行う ということになりますが、表を作成する場合同じページで処理を行えるのか、それとも別の ウィンドウかページを開いて表を作成しなければならないのでしょうか? 「document.write(引数)」で表示が可能なのでしょうか?この方法がピンとこなくて…。 HPを検索した所最初から値が解っていてそれを元に表を作成するというjavascriptの記述はありましたが、こういうことが出来るのかすらも解りません。 (出来そうな気がするのですが、見本になるようなページが記憶になかったので…) どなたかご助力を教えていただけると大変助かります。よろしくお願いします。

  • 一度に関連する他のテーブルの行も取得したい

    MySQLバージョン4.1.16を使用しています。 ちょっとPHPも絡んでくるのですが、こちらのジャンルでお願いします。 テーブル「items」はテーブル「users」のuser_idカラムを 外部キーとして持っています。ここで「users」テーブルの行を取得して、 その値(user_idのaaaaやbbbbなど)を利用して 「items」テーブルのそれぞれ対応する行を取得したいのですが、 $users = (usersテーブルの行を取得するSQL文); $index = 0; foreach ($users as $row) { $users[$index]['items'] = (user_idに対応したitemsテーブルの行を取得するSQL文); $index++; } print_r($users); /* Array (  [0] => Array   (    [user_id] => aaaa    [items] => Array     (      [0] => Array       (        [user_id] => aaaa        [item_name] => アイテム1       )      [1] => Array       (        [user_id] => aaaa        [item_name] => アイテム2       )     )   )  [1] => Array   (    [user_id] => bbbb    [items] => Array     (      [0] => Array       (        [user_id] => bbbb        [item_name] => アイテム3       )     )   ) ) */ と、このように2段階に分けてやれば取得できるのですが、 そうではなくてこれを一度に取得できるSQL文というかやり方はあるのでしょうか? $users = (usersテーブルの行を取得するSQL文);←この段階でそれぞれ対応してるitemsテーブルの行まで取得したい

  • sqlite3でrowid以外にid必要ですか?

    sqlite3に挑戦中です。 これまでmysqlを使用していました。 sqlite3ですが、rowidというコラム(行番号)が自動的に付加しますね。 当初idとかnoというPRIMARY KEYをつけていたのですが、INSERTができないためidコラムをDrop Columnしました。 でも、抽出するときにrowidでSELECTしようと思ったら、抽出できるわけないですね。できる方法があったら、教えてください。 ↓こんなふうにrowidをセットしようと思ったら見事に空白でした。file= $s .= '<a href =./index.php?mode=check&file=' . $row["rowid"] . '>' . $row["name"] . '</a><br>'; ということはやっぱりid、noというプライマリーキーは必要でしょうか? もちろんnameが一意なので条件設定できますが、スマートでない気がします。 AUTO INCREMENTしてくれないので、一々、値を入れていかないといけないのでしょうか?mysqlだったら、自動的に番号を付加してくれるので、NULLや空白を入れていたのですが。 つまらない質問ですが、確認のためよろしくお願いします。

  • JavaScript初心者です・・・。

    商品の注文書を作成しています。プロバイダのCGIを利用していて、計算等はJavaScriptを使用したいのですが・・・。 JavaScriptを使って商品の個数が入力されたところだけを計算するという方法を教えていただきたいのです。 その場合、s23DA=document.form1.s23DA.value*1500; 全ての項目を上記のように設定しており自動計算をさせようとしています。 しかし、個数が入力されていない項目もCGIで飛ばしたメールに入っているので、それを取り除きたいと考えています。 どなたかお力添え願いますm(_ _)m