アンケート集計

1.プログラム仕様

 組織内でメンバーにアンケートを取り、集計した結果を表示する
   アンケート内容は別途作成
   入力内容のDB保存と保存内容の照会部分を作成する

2.アンケート部分

 アンケートへの回答を入力する部分
   事前登録済みの会員名を選択する(匿名の選択も可)
   各アンケート項目に「id」番号をプログラムで順次付与しておく
     (例)Q1、Q2・・・・
   「集計」ボタンがクリックされると
   回答はNo.34で定義した「post」メソッドで次のプログラムに渡される

アンケート部分(見本)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="GENERATOR" content="JustSystems Homepage Builder Version 17.0.15.0 for Windows">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>サンプル</title>
  </head>
  <body>

<CENTER>
<TABLE width=“700”>
  <TBODY>
    <TR>
      <TD align=“center”>クラブ「●●●●●」会員の皆さんにお聞きします。</TD>
    </TR>
  </TBODY>
</TABLE>
</CENTER>
<DIV align=“center”>
<HR style=“color : aqua;background-color : lime;border-width : thick;” align=“right”>
  <table width=“776”>
  <TBODY>
    <TR>
        <td align=“left” width=“733”><FONT size=“+2” face=“メイリオ”><B><I>   当クラブについての皆さんの<br>
             パソコン環境をお聞きします<br>
        </I></B></FONT>  <b><font color=“#000099”>各項目の該当する○の処をクリックしてマーキングしてください<br>
          なお記述の部分がありますが記述入力苦手な方は空欄にして送信してください<BR>
           記述部分で入力苦手な方は、メモとして紙にお名前、項番を書いて提出お願いします</font></b></td>
      </TR>
  </TBODY>
</table>
  <P>       </P>
<FORM action=“http://●●●●●●/gathering.php” method=“POST”><BR>
<INPUT type=“hidden” name=“_code” value=“kouza_data”>
  <table width=“409”>
  <TBODY>
    <TR>
      <TD height=“33” width=“77”><B><FONT size=“+1”>お名前</FONT></B></TD>
      <TD height=“33” width=“150”>   <SELECT size=“1” name=“name” style=“font-size : medium;”>
<OPTION value=“◇◇◇さん”>◇◇◇さん</OPTION>          
<OPTION value=“◆◆◆さん”>◆◆◆さん</OPTION>
        </SELECT> </TD>
    </TR>
  </TBODY>
</table>
  <TABLE border=“1” width=“817” cellspacing=“0” cellpadding=“2”>
  <COL span=“1” width=“30”>
  <COL span=“1” width=“300”>
  <COL span=“1” width=“400”>
  <TBODY>
      <TR>
      <TD bgcolor=“#d3d5fc” id=“Q5_head”>Q1</TD>
      <TD bgcolor=“#defaf8” width=“376”>パソコンの経験年数?</TD>
      <TD bgcolor=“#ffffca” width=“374”></TD>
      </TR>   
  </TBODY>
</TABLE>
<BR>

***** 途中 アンケート項目 省略 *******

<BR> 
<P>お疲れ様でした。「送信」ボタンを押して回答を送信してください。</P>
<input type=“submit” value=“送信”>
<HR>
</FORM>
</DIV>
<CENTER></CENTER>
<CENTER></CENTER>

 </body>
</html>

3.回答をDBへ保存部分

 渡された回答結果をDBに保存する部分
   既に登録済みの方なら「Update」処理
   初めての方なら「Insert」処理

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja-JP">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-script-Type" content="text/javascript">
<link rel="stylesheet" href="index.css" type="text/css" media="all">
<title>サンプル</title>
</head>
<body >

<?php

	require('●●●●●●/Common_Func.php');      
	require('●●●●●●/InquiryDB_Func.php');      

	$sName	= $_POST['name']; 
	$sQ1	= $_POST['Q1']; 
	$sQ2	= $_POST['Q2']; 
	$sQ3	= $_POST['Q3']; 
	$sQ4	= $_POST['Q4']; 
	$sQ5	= $_POST['Q5']; 
	$sQ6	= $_POST['Q6']; 
	$sQc1	= $_POST['Qc1']; 
	$sQ7	= $_POST['Q7']; 
	$sQ8	= $_POST['Q8']; 
	$sQ9	= $_POST['Q9']; 
	$sP1	= $_POST['P1']; 
	$sP2	= $_POST['P2']; 
	$sP3	= $_POST['P3']; 
	$sP4	= $_POST['P4']; 
	
	$cid	= LearnDB_Open();  

    $temp = "ok";
    foreach ($sQc1 as $value)
	 {
	    if ($temp == "ok")
	        {
	          $temp = $value;
	        }
	      else
	        {
 		      $temp = $temp."、".$value;
	        }
	 }

  	$sql 	= "select * from $tRec_Name where ($Name = '$sName' )";   
    $result	= MySQL_query($sql,$cid)   
                or die("failled to query of [$sql]");
    $row 	= MySQL_fetch_array($result);           

    if ($row[$Name] == $sName)
      {
        $sql 	= "update $tRec_Name set $Q1 = '$sQ1', $Q2 = '$sQ2', $Q3 = '$sQ3', $Q4 = '$sQ4', $Q5 = '$sQ5',
                                         $Q6 = '$sQ6', $Qc1 = '$temp', $Q7 = '$sQ7', $Q8 = '$sQ8', $Q9 = '$sQ9',
                                         $P1 = '$sP1', $P2 = '$sP2', $P3 = '$sP3', $P4 = '$sP4'
        			where ($Name = '$sName')";   
        $result	= MySQL_query($sql,$cid)   
                    or die("failled to query of [$sql]");
    
		print  "update";
      }
    else
      {  	
		$sql 	= "insert into $tRec_Name ($Name,$Q1,$Q2,$Q3,$Q4,$Q5,$Q6,$Qc1,$Q7,$Q8,$Q9,$P1,$P2,$P3,$P4) 
					values('$sName','$sQ1','$sQ2','$sQ3','$sQ4','$sQ5','$sQ6','$temp','$sQ7','$sQ8','$sQ9','$sP1','$sP2','$sP3','$sP4')";   
	    $result	= MySQL_query($sql,$cid)   
                    or die("failled to query of [$sql]");
      
		print  "insert";
      }                  

	LearnDB_Close($cid);			
?>
</body>
</html>

4.アンケート結果の照会部分

 アンケートの回答をDBから呼び出し一覧を表示する
   名前順に全件を表示対象とする

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja-JP">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-script-Type" content="text/javascript">
<link rel="stylesheet" href="index.css" type="text/css" media="all">
<title>サンプル</title>
</head>
<body >

<?php

	require('●●●●●●/Common_Func.php');      
	require('●●●●●●/InquiryDB_Func.php');      

	$cid	= LearnDB_Open();  

  	$sql 	= "select * from $tRec_Name ORDER BY $Name";   
    $result	= MySQL_query($sql,$cid)   
                or die("failled to query of [$sql]");
    $row 	= MySQL_fetch_array($result);    
    
    while ($row = MySQL_fetch_array($result))
      {    
        print "*******************"."<br>";
        print $row[$Name]."<br>";
        print "   Q1  ".$row[$Q1]."<br>";
        print "   Q2  ".$row[$Q2]."<br>";
        print "   Q3  ".$row[$Q3]."<br>";
        print "   Q4  ".$row[$Q4]."<br>";
        print "   Q5  ".$row[$Q5]."<br>";
        print "   Q6  ".$row[$Q6]."<br>";
        print "   Q7  ".$row[$Qc1]."<br>";
        print "   Q7  ".$row[$Q7]."<br>"; 
        print "   Q8  ".$row[$Q8]."<br>";
        print "   Q9  ".$row[$Q9]."<br>";
        print "   P1  ".$row[$P1]."<br>";
        print "   P2  ".$row[$P2]."<br>";
        print "   P3  ".$row[$P3]."<br>";
        print "   P4  ".$row[$P4]."<br>";
        print "*******************"."<br>";

      }

	LearnDB_Close($cid);			

?>

</body>
</html>  

5.補足資料

 当時の資料