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

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

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

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

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

Q&A

解決済

2回答

5178閲覧

動的に入力フォーム生成するはいいが、DBへの格納は?

earnest_gay

総合スコア615

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

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

0グッド

0クリップ

投稿2016/06/08 20:37

参考URLの様にjsで動的に入力フォームを生成するにはいいのですが、例えばDBに

・tokugi1
・tokugi2
・tokugi3

の様なカラムがあったとして、

参考URLの方法でクローンして
name属性も動的に

<input type="text" name="tokugi1">(元からある)

<input type="text" name="tokugi2">(追加ボタンがあったとして追加ボタンによって生成されたもの)
<input type="text" name="tokugi3">(追加ボタンがあったとして追加ボタンによって生成されたもの)

のように作り出してDBに登録するのはいいのですが、更にもう一個追加して

<input type="text" name="tokugi4">(追加ボタンがあったとして追加ボタンによって生成されたもの)

ができてしまった場合、DBにはtokugi4というカラムも
<input type="text" name="tokugi4">を格納するカラムもないので

そこを考えると参考URLの様にjsで動的に入力フォームを生成する意味というかメリットはなんだろうって思うのですが、どう思われますか?

いくらでも複製できるのは便利なのですが、複製の数は未知数で
それを格納できるカラムも複製数に合わせて用意されないと、
ただセッションでしか使いまわしできないと思うのですが...

そもそも、参考URLの様にjsで動的に入力フォームを生成する場面って
どんなときなのでしょう?

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

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

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

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

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

guest

回答2

0

ベストアンサー

このように項目数が変わる場合、データベースでは別なテーブル(親テーブルのIDと、特技の2列があるようなもの)を作って、そちらの行として格納するようにすれば、項目数がいくつになっても対応可能です。

そのような正規化が、RDBMSの扱いではポイントとなってきます。

投稿2016/06/08 22:25

maisumakun

総合スコア145183

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

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

earnest_gay

2016/06/09 13:36

回答ありがとうございます! 確かに!RDBMSの真骨頂はそういう使い方ができるからですよね!
guest

0

無限にボタンが追加できるというのも考えもの、
実際には上限を設定するでしょう
あらかじめ挿入するテーブルの構造をもとに上限値を設定しておけば
なんの問題もないかと

投稿2016/06/09 03:29

yambejp

総合スコア114777

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

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

earnest_gay

2016/06/09 13:35

こっちの都合なのですがピッタリじゃないと気持ち悪い感じがして... 上限決めてカラム用意するしかなさそうですね!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問