• 締切済み

phpとmysqlで授業評価アンケートシステムを

phpとmysqlを使って授業評価アンケートシステムを作りたいと思っています。 数ページに渡って、年度・学年・クラス・科目etcについて入力して、 最終ページで評価(各設問に対する人数)を入力し、 それまでのページで選択した年度・学年・クラス・科目etcに加え、評価(人数)をDBに登録するようなシステムにしたいと思っています。 ページ1で、 年度・学年・クラスをドロップダウンリストから選択します。 ページ2で、 先ほどのページで選択した年度・学年・クラスを表示した上で、 科目をドロップダウンリストに表示します。 学年・クラスに応じて、ドロップダウンリストに表示する項目を変えたいのですが、 それがわからないということが一点。 DBに学年・クラス・科目名etcという構造のテーブルを用意しておき、 ページ1で選択した学年・クラスが、用意したDBの学年・クラスが一致するもののみ、 ページ2の科目ドロップダウンリストに表示したいのです。 ページ1で選択した年度・学年・クラスをページ2に表示することはできました。 ページ1で選択した年度・学年・クラスをページ3でも同じように表示する方法がわからないのが二点目。 どなかか詳細に教えていただけませんでしょうか。 些細なことでも構いません。 よろしくお願いいたします。

みんなの回答

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 方法はいろいろと出てくると思いますが 学年テーブル=学年コード,学年,クラス 科目テーブル=科目コード,科目名 科目使用テーブル=学年コード,科目コード というテーブルを用意して それぞれ紐付いたデータを取得すれば良いのでは無いでしょうか。 データ例として 学年テーブル G001,1,A組 G002,2,B組 科目使用テーブル G001,K001 G001,K002 G002,K001 G002,K003 科目テーブル K001,国語 K002,数学 K003,理科 とあった場合1ページ目にて2年B組を選択するとG002が取得できるので科目使用テーブルからG002でデータを取得しK001,K003が取れるので国語と理科をプルダウンに表示する。 ページ1のデータをページ3へ表示する場合はセッションという機能を利用するか、ページ2のフォーム要素内にhiddenで値を持っておく必要があります。 hidden例 <?php // 選択クラスを取得 $selClass = $_POST['sel_class']; ?> <form action="./page3.php"> <input type="hidden" name="sel_class" value="<?= $selClass ?">"> <input type="submit" value="ページ3へ"> </form> こうするとページ3に送信される際にページ1からの値をページ3に飛ばせます。 セッションはもっと簡単に実装できますので調べてみてください。

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

関連するQ&A

  • Web上(php)からmysqlにデータを挿入する

    授業評価アンケートのデータ収集システムを開発しています。 年度(セレクトボックス)[nendo]・学年(セレクトボックス)[gakunen]・クラス(セレクトボックス)[class]・科目名(テキストボックス)[kamokumei]・科目コード(テキストボックス)[kamokucode]・分類(セレクトボックス)[kind]・履歴者数(テキストボックス)[people] について、POST?hidden?でデータをページをまたいで持っていきます。 最終的に、アンケートの評価として、設問1~14のそれぞれについてA~F評価の人数を入力します。 表形式にしており、 設問1のA評価については、name="1A" 設問2のB評価については、name="2B" のようにしています。 そして、 「登録ボタン」 を押すと、 年度・学年・ ・・・ ・履歴者数 及び 設問1~14のそれぞれについてA~F評価の人数 をデータベースに挿入したいのですがわかりません。 データベースの構造は、 データベース名:student テーブル名:data field: nendo gakunen class kamokumei kamokucode kind people 1A 1B ・ ・ ・ 31F のようになっています。 今、挿入しようとしているアンケートについては、設問数は14です。 if文で、「分類」の選択(4つ)に応じて、設問数が変えたいため、31Fまでフィールドを用意しています。 今、挿入しようとしているものは年度や学年や・・・と、設問1~14のそれぞれについてA~F評価の人数ですが、フィールドが・・・31Fまであっても問題ないのでしょうか? <?php mysql_connect("localhost", "aiueo","##aiueo"); //データベースへ接続 mysql_select_db("aiueo"); //データベースを選択 $14F = $_POST["14F"]; $14E = $_POST["14E"]; $14D = $_POST["14D"]; ・ ・ ・ $people = $_POST["people"]; $kind = $_POST["kind"]; $kamokucode = $_POST["kamokucode"]; $kamokumei = $_POST["kamokumei"]; $class = $_POST["class"]; $gakunen = $_POST["gakunen"]; $nendo = $_POST["nendo"]; $sql = 'INSERT INTO `data` (`nendo`, `gakunen`, `class`, `kamokumei`, `kamokucode`, `kind`, `people`, `1A`, `1B`, `1C`, `1D`, `1E`, `1F`,・・・) VALUES     (\'\', \''.$nendo.\''.$gakunen.'\', \''.$class.'\', \''.$kamokumei.'\', \''.$kamokucode.'\',\''.$kind.', \',\''.$people.'\', \''.$1A.'\', \''.$1B.'\', \''.$1C.'\', \''.$1D.'\', \''.$1E.'\', \''.$1F.'\',・・・) mysql_query( $sql ); ?> のようにしています。 どなたか教えてください!!!

    • ベストアンサー
    • PHP
  • php セレクトボックス 分岐 わかりません・・・

    php if文? セレクトボックスの選択に応じて、次ページで表示するものも変えたい。 授業評価アンケートのデータ収集システムを開発中です。 page1.php では、 年度(セレクトボックス)[nendo] 学年(セレクトボックス)[gakunen] クラス(セレクトボックス)[class] 科目名(テキストボックス)[kamokumei] 科目コード(テキストボックス)[kamokucode] 分類(テキストボックス)[kind] 履歴者数(テキストボックス)[people] を選択及び入力します。 page2.php では page1.php で選択及び入力された情報をPOST?hidden?などを利用し、 年度:2011 学年:1 クラス:1 科目名:国語 科目コード:11L901 分類:講義科目 履歴者数:40 のように表示させ、その下にアンケートの回答者数を入力する表を示します。 分類のセレクトボックスには4種類の項目があります。 講義科目・体育科目・実験科目・HR です。 分類により、アンケートの設問数が異なるようにしたいのです。 たとえば、 講義科目は設問が1~5。体育科目は1~8。実験科目は1~10。HRは11~15。 だとします。 page1.php 入力された「分類」に応じて、設問数の異なる、 page2.php を表示したいのですが、わかりません。 また、アンケートの表については、 A~F評価があり、 設問1のAならそのマスをname="1A"、設問2のBならname="2B",・・・というようにしています。 page3.php 入力したものを全て表示し、で確認ページとし、 page4.php で、「登録」ボタンを押すと、 年度 学年 ・ ・ ・ 履歴者数 ・ ・ ・ 1A 1B ・ ・ ・ 15F (↑のような構造のtableも用意済み) のデータをmysqlに挿入します。 「分類」による分岐をせず、 page2.phpで、設問数1~5の場合で、データの挿入には成功しました。 6~15については、空となっています。 「分類」により設問数の異なるpage2.phpを表示し、 現在の段階のように、データを挿入できるような形態にできませんでしょうか? どうかお願いしたします!!!!!!!!!! 時間がありません>< お願いします!!!!

    • 締切済み
    • PHP
  • phpでのセレクトボックスからの受け渡しについて

    phpにおいての、セレクトボックスにより選択させたデータの受け渡しについて、どなかか教えてください。 授業評価アンケートのデータ収集システムを卒研で開発しています。 その中の一部で、 年度・学年・クラス を各々セレクトボックスにて選択させるページがあります。 仮にpage1.htmlとし、以下にその一部を示します。 <FORM method="post" action="page2.php" enctype="application/x-www-form-urlencoded"> <P> 年度: <SELECT name="nendo"> <OPTION value="1">2006</OPTION> <OPTION value="2">2007</OPTION> <OPTION value="3">2008</OPTION> <OPTION value="4">2009</OPTION> <OPTION value="5">2010</OPTION> <OPTION value="6" selected>2011</OPTION> <OPTION value="7">2012</OPTION> </SELECT> 学年: <SELECT name="gakunen"> <OPTION value="1">1年</OPTION> <OPTION value="2">2年</OPTION> <OPTION value="3">3年</OPTION> <OPTION value="4">4年</OPTION> </SELECT> クラス: <SELECT name="class"> <OPTION value="1">1組</OPTION> <OPTION value="2">2組</OPTION> <OPTION value="3">3組</OPTION> <OPTION value="4">4組</OPTION> <!-- --> </SELECT> </P> <P><INPUT type="submit" value="科目選択へ"> <INPUT type="reset" value="取り消す"></P> 次のページ(page2.php)では 科目・分類 を各々セレクトボックスにて選択させるページを用意します。 その際に、科目・分類の各々のセレクトボックスの上に、 前ページ(page1.php)にて選択された値(valueではなく文字列(2008,1年))を表示します。 年度:~~ 学年:~~ クラス:~~ これについては以下の方法で成功しました。 年度:<? echo $_POST["nendo"]+2005?> 年 学年:<? if ($_POST["gakunen"] == "1"){ echo "1年"; } else if ($_POST["gakunen"] == "2"){ echo "2年"; } else if ($_POST["gakunen"] == "3"){ echo "3年"; } else if ($_POST["gakunen"] == "4"){ echo "4年"; } ?> クラスについても同様の手法。 ここからが本題です。 page1.html→page2.php に受け渡した年度・学年・クラスのデータを page2.php→page3.php にも同じように、年度:~~・・・と表示させたいのですが、わかりません。 hiddenというのを使うのでしょうか。 調べても、このパターンのように1ページまたいでのデータの受け渡し方法がよくわかりません。 他の方法もあるのでしょうか。 どなたか具体的に教えてください!

    • 締切済み
    • PHP
  • PHP + MySQLでphp間のlocation

    PHP5 + MySQLで画像アップロード・修正機能があるホームページを作っています。 現在2つのphp(list.phpとrevision.php)があります。 list.phpで画像を表示し、そのページには「修正」リンクがあり、クリックするとrevision.phpにlocationし、画像のタイトルや説明文を修正することができます。 画像を表示する際や修正した内容は、DBに入っていて、表示する際はSELECT文で、修正した内容はUPDATEするようにしています。 修正ページで「修正完了」リンクをクリックすると、 revision.phpでUPDATE→list.phpにlocationしてSELECT文で取得 という流れで修正した内容をlist.phpで確認できるようにしています。 DBを確認する限り正しくUPDATEされているのは確認できたのですが、list.phpで表示される内容は、なぜかUPDATEされる前の情報になってしまいます。 その状態で、ページをリロードすると、UPDATEされた内容が正しく表示されるのですが、できればリロードせずに、locationした際にUPDATEされた内容を表示させたいと思っております。 ブラウザは、Firefoxを使っています。 原因や、解決策がお分かりの方いらっしゃいましたら、ご教授の程お願い致します。

    • ベストアンサー
    • PHP
  • 特定のドロップダウンリストを表示させるには?

    ホームページで、メールフォームの一部にドロップダウンリストを使用しています。通常はユーザーの方にリストから一つ選んでもらっているのですが、特定のリンク元からメールフォームのページに飛んだときにのみ、あらかじめ指定のリストを選択状態にしておきたいと考えています。 つまり、デフォルトのドロップダウンリストを表示させる場合と、それとは異なるリストを表示させる場合とを使い分けたいのですが・・・可能でしょうか。 HTMLか、JavaScriptか、CGIか・・・いろいろ調べてみたのですが、分かりませんでした。 どなたか、教えてください!!

    • ベストアンサー
    • HTML
  • ドロップダウンリストクリックでページ移動

    ドロップダウンリストに項目が幾つかあり、それを選択するだけでページを移動することは可能でしょうか? 出来るようでしたらどのようにしたら良いか教えてください。

    • ベストアンサー
    • HTML
  • ドロップダウンリストのリンク先

    ビルダーを使ってHP作成しています。 リンクのページでドロップダウンリストを使おうと思い、説明書の通りにやったら、一応出来ました。 しかし、そのページはフレームで2つに別れているんです。 Aのページにドロップダウンリストを置いているのですが、Bのページに表示して欲しいんです! しかしそのやり方が分かりません(××; 設定の仕方など、教えてください! よろしくお願いします!!

  • ASP.NET ドロップダウンリストでの切り分け

    VBもDBもろくに勉強できていない私が、会社の命令により 納期間近のWebアプリをASP.NETを使い作成することになりました。 知識が乏しいため、本やネットとにらめっこし、トライ&エラーを繰り返しながら奮闘しております。 今回は、調べても似たような事例が見つからなかったので質問させていただきます。 検索用のドロップダウンリストが2つあり、ACCESSのマスターより値を参照してます。 Aのドロップダウンリストのマスターは、 ID 項目名 区分 の3項目で成り立っており、表示に項目名 値にIDを設定しております。 Aの選択を行ったときに、区分の値によって Bのドロップダウンリストの選択可否を制御したいのですが、 どのようにすればよろしいでしょうか? 何卒、よろしくお願いいたします。

  • vbaでIE制御によりドロップダウンリスト表示

    こんばんは。 VBAでIEの操作をしています。 IEのドロップダウンリストはマウスでクリックすると、リストを表示します。 このリストを表示させるということまでをVBAで実現したいです。 用途:   Webアプリが仕様通りのドロップダウンリストを表示できることのテストに必要です。   ドロップダウンリストを表示させた状態で、画面をキャプチャして、この画面キャプチャ   のリストと仕様のリストを比較して、試験結果を評価したいです。   ドロップダウンリストがいろんな画面のいろんな箇所にあって、手作業がいやなんです。 いろんな画面を表示して、画面キャプチャをとるマクロは完成しています。 大変お手数ですが、宜しくご教示ください。

  • テキストボックスにクリックしたものを代入する

    授業評価アンケートのデータ収集システムを卒研で作っています。 あるページ、(test.php)に 学年・クラス etc 科目名/科目コード:[textbox1]/[textbox2] 参照 etc というような行を作ります。 「参照」にリンク先として、 kamoku.html という、 学年・クラス・科目名・科目コード という項目のある表を表示します。 参照をクリックすると、新しいタブで kamoku.html が開きます。(これはできました) このページ内の表をユーザに見て頂き、 test.php にて科目名・科目コードを入力してもらおうと考えました。 しかしそれでは入力ミスも生じてくると思いますで、 表内の、ある科目名をクリックすると、 test.php の科目名のテキストボックス(textbox1)にその文字列(科目名)が代入され、 科目コードも同様にテキストボックス(textbox2)にその文字列(科目コード)が代入される というのはできませんでしょうか? そうすれば入力ミスもなくなりますので。 どなたか教えてください! お願いします!

    • ベストアンサー
    • PHP