• ベストアンサー

【画面設計について】

現在,大学での演習でコーディングを担当しています. HTMLで作った画面にJavaScriptを用いて機能を作っています. (DBはMysqlを用いて作成しました.) 現在htmlを使用し登録画面から確認画面へデータを反映させるようなプログラミングをJavaScriptを用いて作成しています. 登録するデータをODBCを経由しSQL上(workspace)に一度仮保存し,そこから確認画面へとデータを反映させようと考えています. しかし,データは新規のものになるのでデータベースには存在していません.新規のデータはどのような表記の仕方をしていいのか困っています. またプログラミングの全体像があまり想像できていません.

  • paopm
  • お礼率29% (5/17)

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

  • ベストアンサー
  • x_jouet_x
  • ベストアンサー率68% (162/236)
回答No.1

一連の流れ(画面遷移)は、 ・登録画面 … 画面上でデータ入力  ↓ ・確認画面 … 登録画面で入力した内容を再度表示  ↓ ・結果画面 … 確認画面で表示した内容をDB登録した結果を表示 みたいな感じになるのでしょうか。 > データは新規のものになるのでデータベースには存在していません 通常はDBに登録する目的で登録画面を作成されるのであれば、そこに表示する内容はDBのスキーマに依存すると思います。 例えばユーザ登録画面を作成されるのであれば、「名前」「ログイン名」「メールアドレス」「パスワード」etc... これらがDB側で準備されていて、画面側も同様の入力フィールドを表示して入力された内容をinsertする形になると思うのですが…。

paopm
質問者

補足

迅速な回答に大変感謝しております. 画面の流れはx_jouet_xさんの表記通りです.画面の流れから 見て確認画面の際に記入ミスなどで変更が必要なデータがある場合 に,DB上に保存されてしまうことはことはないですか?? 全体の流れとしては登録画面(データはDBと共通するフィールドへ)→DB→確認画面(共通フィールドからinsert) といった流れで大丈夫でしょうか??

その他の回答 (5)

  • x_jouet_x
  • ベストアンサー率68% (162/236)
回答No.6

回答#4 think49さん。 貴重なご意見、ありがとうございます。 JavaScript内でActiveXObjectを使用する方法は私も知っていましたが、環境依存する点とSQLがクライアントサイドで見えてしまうのを嫌って、敢えてDBを触れないと回答しました。 質問者さんが初心者の方のようでしたので、混乱を避ける目的もありましたが…。 ただ、演習目的で環境を限定して作成するのであればそれもアリかなと思います。 実務の方で長くWebアプリのコーディングをしていたので、つい「環境依存しない形」を念頭に置いてしまいました。 その他、環境構築の回答もして頂いたようでありがとうございました。

  • think49
  • ベストアンサー率59% (285/482)
回答No.5

#4です。少し補足します。 > ちなみに、先に紹介したJScriptですが、JScriptがサーバサイドスクリプトの代わりとなるので少なくとも 2. はスキップできると思います。 「2. をスキップ」はサーバ上にhtmlファイルを置く場合です。 ローカルにhtmlファイルを置く場合は「1. と 2. をスキップできる」と思います。 私の環境ではIEではJScript実行時にIEの情報バーに警告が出ますが、この時、実行を許可すればJScriptを実行できています。 ODBCは利用したことがありませんが、仮に動作しなくても一時的にポリシーを変更すれば何とかなるような気がします。 (お勧めはしませんが、方法論として)

paopm
質問者

お礼

think49さんご回答ありがとうございました. 今一度まとめなおしてアドバイスを参考に作業を行ってみたいと思います.初心者を相手だってため混乱させてしまいすみませんでした. とても助かりましたありがとうございます.

  • think49
  • ベストアンサー率59% (285/482)
回答No.4

横から失礼します。 >> #3 x_jouet_xさん > ご質問ではJavaScriptで…と書かれているのですが、JavaScriptはブラウザ上でのみ動作するものなので直接DBに触ることはできません。 最近よく似た質問に回答しまして、その時はJScriptのコードを紹介しました。 PLANEX@OKWave 【質問】DBを介した検索 他2つ http://internet.okwave.jp/qa5077428.html?ans_count_asc=1 JavaScriptからMySQLを利用する http://tsuttayo.jpn.org/mysql/odbc/jscript.php 演習目的であればJScriptも有りとこの時は思いましたが、今考えるとマイナー故に目的の情報を探しにくいですね。 JScriptである必要があるなら仕方ないですが、そうでないならサーバサイドスクリプトを使ってコーディングする方が情報を集めやすくていいのではないかと思いました。 # 私の回答した質問者さんとは名前が違うようですが、同じ学内の学生さんかなと思い、書き込ませていただきました。 # 見当違いでしたらすみません。 >> 質問者さん > 新規のデータはどのような表記の仕方をしていいのか困っています. Perl,PHP,JScript,Rubyなど、DBにアクセスする方法はいろいろありますが、最後はSQL文を発行するのが妥当だと思います。 CREATE TABLEでテーブルを作成し、INSERT INTOでデータを入力してください。 SQL入門 http://sql.1keydata.com/jp/ > またプログラミングの全体像があまり想像できていません. 「具体的に何をやればいいか」でいいでしょうか? (質問のタイトルは「画面設計」ということですが、補足から「何から始めればいいかわからない」状態なのではないかと想像してます。) 一般的には、以下のような過程を踏みます。 1. Webサーバのインストール (Apache等) 2. サーバサイドスクリプトのインストール (Perl,PHP,Java,Rubyなど) 3. データベースサーバのインストール (MySQLなど) サーバサイドスクリプトをPerlとしたら、PerlでMySQLにアクセスするコードを書きます。 この時にSQL文が必要になるわけです。 ちなみに、先に紹介したJScriptですが、JScriptがサーバサイドスクリプトの代わりとなるので少なくとも 2. はスキップできると思います。

  • x_jouet_x
  • ベストアンサー率68% (162/236)
回答No.3

そうでした。 プログラミングの全体像があまり想像できていなかったんですね。 プログラムの前に全体的な大まかな構成図を書くと、 ┌──────┐ ┌──────┐ ┌──────┐ │      │ │      │ │      │ │ ブラウザ │─│ サーバー │─│  DB  │ │      │ │      │ │      │ └──────┘ └──────┘ └──────┘ のようになると思います。 上図のサーバーは入力画面等をブラウザに表示したり、DBにデータを登録したりするためWebアプリサーバになります。 ここで問題になるのはWebアプリサーバ上で動作するプログラムの言語です。 ご質問ではJavaScriptで…と書かれているのですが、JavaScriptはブラウザ上でのみ動作するものなので直接DBに触ることはできません。 それとも、もしかしてMicrosoftのJScriptについて言われているのでしょうか? そうであればIIS(サーバ)上で動作するものなので問題ありませんが…。 上図のサーバーにあたる部分のWebサーバは何を使用される予定なのでしょうか? Windowsマシンであれば、IISかApacheだと思いますが…。 また、プログラム言語は何で記述される予定でしょうか? 上記で出てきたJScriptの他、よく使用されるもので言えばPHPやJavaのServletがありますが…。

paopm
質問者

お礼

x_jouet_xさんお忙しい中詳細な回答をありがとうございます. 初心者の自分にとってとてもためになりました. 今一度まとめなおしてから行ってみます. ありがとうございました

paopm
質問者

補足

申し訳ありません質問に答えてませんでした. 使用サーバとしては,Apacheを使用しています. 言語はhtml内でjavascriptを活用しながら行っています. DBとの連結のためにODBCというソフトを使用しています.

  • x_jouet_x
  • ベストアンサー率68% (162/236)
回答No.2

> 確認画面の際に記入ミスなどで変更が必要なデータがある場合に,DB上に保存されてしまうことはことはないですか?? 画面遷移を簡単に書いてしまいました。 すみません。 ・登録画面 … 画面上でデータ入力("確認画面へ"ボタンを配置)  ↓ ("確認画面へ"ボタン押下時) ・確認画面 … 登録画面で入力した内容を再度表示("登録"ボタン、"修正"ボタンを配置)  ↓ ("登録"ボタン押下時、確認画面で表示した内容をDB登録/"修正"ボタン押下時、登録画面へ戻る) ・結果画面 … DB登録した結果を表示 こんな感じの画面遷移ですかね。 確認画面の"登録"ボタン押下時にDBにinsertする処理を行い、結果画面に遷移する形になります。 なお、DBにinsertする前に入力されたデータが各フィールドの型や最大文字列数と整合性が取れているかをチェック(入力チェック)する必要がありますね。 入力チェックにひっかかったらエラー画面に遷移するなどの処理も必要でしょう。 ベストなのは上記の入力チェックとともに、登録画面の"確認画面へ"ボタン押下時にJavaScriptで入力チェックを行い、誤った入力があれば次画面に進めないようにできるといいです。

paopm
質問者

補足

詳細な画面遷移をしていただきありがとうございます. 現在x_jouet_xさんのアドバイスを参考に確認画面から結果画面へのプログラミングは想像がつきました. しかし,登録画面から確認画面への部分のプログラミングについてもう少しご質問があります.お忙しいところ大変申し訳ありません. 登録画面と確認画面のプログラミングには同一のtableを存在させると 思うのですが,これらはscript内にSQLを導入させてつなげる形でよろしいのでしょうか?? もし何か参考になるサイトやサンプル文がございましたらご提供願います. よろしくお願いいたします.

関連するQ&A

  • 【質問】DBを介した検索 他2つ

    現在,大学での演習でコーディングを担当しています. HTMLで作った画面にJavaScriptを用いて機能を作っているのですが… その機能の中に,DBを介した検索機能があります. (DBはMysqlを用いて作成しました.) 他掲示板で質問したところJavaScriptとMysqlのDBは繋がらないとの 指摘を受けたのですが,ODBCというツールを使うことで繋げることが 出来き,とりあえず画面上にDBの内容を表示することは出来ました. (1)しかし,DBと繋ぐことが出来るこの段階でもScriptでDBを介した検索が出来るかが全く分かりません. それと,こちらは一緒に作業をしている友人の質問なのですが, (2)現在htmlを使用し登録画面から確認画面へデータを反映させるようなプログラミングをJavaScriptを用いて作成しています. 登録するデータをODBCを経由しSQL上(workspace)に一度仮保存し,そこから確認画面へとデータを反映させようと考えています. しかし,データは新規のものになるのでデータベースには存在していません.新規のデータはどのような表記の仕方をしていいのか困っています. またプログラミングの全体像があまり想像できていません. 何か参考になるサイトやサンプル文等がございましたらお聞かせください. 当方まだ初心者のため,まだ根本的な部分が理解できてないかもしれないのですが… 理解できる方がいましたらご指摘のほどをよろしくお願いします.

  • Javascriptでランダムパラメータ

    現在、静的HTMLのみのHPを作成・運営しているものです。 <a href>タグからの遷移で、遷移先のデータを 更新してもキャッシュが残り画面が反映されないことが多々あります。 そこでJavascriptを使ってURLにランダムパラメータを 付加しキャッシュを残させないようにしようと考えています。 そのJavascriptの記述方法(コーディング方法)を教えていただけますか? ランダムパラメータはなんでもいいと思うのですが 日付(年月日時分秒)がいいのかなと考えております。 よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • MySQLのデータベースをODBCに登録する

    ODBCデータソースの登録がうまくいきません。 ご教授お願い致します。 OS:WindowsXP,MySQL-4.0.22,ODBC:mysql-connector-odbc-5.1.5 ユーザーDNSに追加しようとすると、「Connection Failed:[HY000][MySQL][ODBC5.1Driver]Unknown system variable 'character_set_results'」というエラーメッセージが出て登録できません。

    • ベストアンサー
    • MySQL
  • Visual C# 2005 でMysqlサーバに接続したい

    環境は Visual Studdio 2005 Express Edition MySQL5.0 です。 データベースエクスプローラにMySQLのODBCを追加したくても ODBCデータソースアドミニストレータで追加したデータソースが反映されません。システムデータソースに追加したドライバは MySQL ODBC 3.51です. まぁ最悪、手書きでコード書いてもいいのですが、GUIを通して簡単にできるならそれに越したことはありません。また、有償のアドインも使えません。 以上説明要素で足りないとこがあれば追加します。 *既存のMySQLのデータベースをVisual C#で作ったアプリで見たり、更新したりするものを作っています。

  • ACCESSを使ってのODBC接続がうまくいかない

    クライアント側のACCESSを使いODBC経由でMySQLへ接続しようとしたらうまく接続が出来ません。 現象はACCESSの、[新規作成] - [テーブルのリンク] - ファイルの種類を[ODBC Databases ()] - コンピュータデータソースにあるODBCを選択。 すると普通はここでテーブルの一覧が表示されるはずが、最初の画面に戻ってしまいます。 他のソフト(EXCELなど)でODBC接続を行ったところうまくいきます。なのでODBC自体の設定は問題ないと考えられます。 以前はうまく行っていたのですが、ACCESSのデータファイル(.mdb)を一度削除して新たに作り直したらうまくいかなくなりました。 この現象で何かわかる方いらっしゃいますか? よろしくお願いします。 MySQL 4.0 ODBC 3.51 ACCESS 2000

  • Access2019でMySQLデータ更新で障害

    初めてご質問します。 Access2019でMySQL(5.7.24)にODBC接続し、直接テーブルを更新したり、フォームからデータ挿入しようとすると、参照も更新もできるのですが、頻繁にAccessが強制終了してしまいます。 環境は以下の通りです。  OS:WindowsServer2016  Access:2019  MySQL:5.7.24  その他:Access、MySQLとも同じサーバー上にインストール  ODBCドライバー:mysql-connector-odbc-8.0.27-win32   MySQLは初の設定のため、ネットなどを参考にインストール、ODBCも無事に接続でき、Access上で作成していたデータを投入して、フォームからのデータ登録を試したところ、頻繁にエラーが発生してAccessが落ちてしまいます。 不思議に思い、AccessよりODBCでリンクを張っているテーブルを参照し、ごみデータの削除をすると同様にAccessが落ちることから、AccessとMySQLDBとの通信等等の障害と感じています。 OSのイベントビューワーでも、Applicationのエラーに複数のエラーが確認できました。 ・障害が発生しているアプリケーション名: MSACCESS.EXE、 ・Aborted connection 4 to db: ・障害バケット 1366483222980313419~ 当初はmysql_upgradeが発生していたので実行しました。 こちらを完了したところmysql_upgradeは表示されなくなりました。 同様にAccess2019も更新し、最新になっています。 AccessからODBC接続をさせ、安定して稼働させるには、どのようにしたらよいか、お知恵をお貸しいただけないでしょうか。

    • ベストアンサー
    • MySQL
  • AccessからMysSqlにODBC経由でリンクテーブル

    Access2000からMySqlにODBC経由でリンクテーブルをつな げたいのですが。 まず、システムDSNを登録する際に[CONNECTER/ODBC] の画面が表示されるのですが、ここでの設定が全く 解りません。 どうかご教授して頂けませんでしょうか? また、良いサイト、書籍など有ったら教えて頂きたいのですが。 どうぞ宜しくお願い致します。 環 境    :WINXP,ACCESS2000   MySQL: Ver5.0.27 ODBCドライバ: MySql ODBC 3.51 Driver

    • ベストアンサー
    • MySQL
  • ODBCでリレーション

    こんにちわ MySQL4.1を使用してます データベースを作ったんですが、 ODBCを利用して、ACCESS2000で そのデータベースにデータを挿入することは できるのは知ってるんですが、 ACCESSでリレーションシップを設定すると しっかりとMySQLに反映されるのでしょうか? ACCESSではデザインビューのをいじれないので 心配なんですが。

    • ベストアンサー
    • MySQL
  • MySQL、Accessを利用したDBの設計

    会社で現在の作業をシステム化し、将来的にはマーケティング処理も行う目的でMySQLを導入し、インタフェースをAccessにしてDB設計する方針になり、多少経験があるわたしが担当することになってしまいました。今、必死でMySQLを調べているのですが、基本的な理解ができていません。助けてください!! 1.MySQLとAccessを使うには会わせてODBC、MDACのインストールも必要のようですが、サーバ/クライアントのどちらに載せればいいのですか?他に必要なソフト(ミドル)ウェアはありますか? 2.MySQLの起動とありますが、サーバが立ち上がっている間自動で動作しているものではないのですか?(DBにアクセスする前にサーバに行ってMySQLを起動し、終わったら終了させるということですか?) 3.サーバ上のDBをクライアント側のAccessで操作するには、DBのアクセス権等何をどう設定する必要がありますか? 4.何十万件ものデータ処理をAccessで耐えられますか? 5.現在Access上にあるデータはテーブル毎にODBCにエクスポートするようですがクエリ(SQLソース)、リレーションシップ等はどう移植すればいいのですか?移植で注意すること(文字コード等)とかありますか? Access2002、MySQL3.23.51、phpMyAdmin2.2.6、WindowsXPを使ってます。 MySQL解説書には上記のようなことには触れていないのでわけがわかりません。ながくてばかばかしい質問かもしれませんが教えてください。よろしくお願いします。

  • visual express2010とmysql

    さっそくなんですが質問させていただきます。 今現在visual 2010 C++とMySQLを用いて簡単な顧客情報管理システムを 構築しています。 メインはvisualのほうでFORM画面を複数作成しTextBoxやbuttonなりを用いて 顧客情報を編集できるシステムを作っています。Form画面同士をbuttonで 関連付けることはできたのですがMySQLと関連付けるやり方がいまいちわかりません。 ここから本題なのですがあるForm画面にMYSQLを接続したのちMYSQLで使うIDとPASSを入れ,それが正しければ次のForm画面にログインするようにプログラムを組みたいのですがどうすればいいかわかりません。(C++) ネットや参考書も参照しましたがわかりませんでした。 どうかお力添えをお願いいたします。 詳しい情報といたしましては ・MySQL DBは作成済み、またデータを入れるためのテーブルも作成済み。 上記のIDとパスワードは仮にrootとabcdとします。 ・visual 2010 express C++ こちらも仮にIDとPASSを入力するForm画面をForm1.h、ログイン後のForm画面をForm2.とします。 ODBCをもちいて関連付けをしようとしている。 以上です。できればODBCを使って行うやり方で教えていただけると幸いです。恐れ入りますが どうかよろしくお願いいたします。