【+課題】今日発表

授業の+課題として勝手に作っていたのは、シラバス検索システムです。その主なプログラムの流れを発表前にまとめたいと思います。

用意するのは、

  • syllabus.html
  • mysql1.php
  • syllabus.php
  1. まず、syllabus.htmlに
    で入力スペースを表示
  2. mysql.phpで入力される値を受け取る
  • 幾つかの条件として入力されたフォームがnullかどうか確認する。もし、条件が入力されていれば変数に格納。されていなければ格納しない。
    • この動作を条件分行う。文字列格納するときは、"AND"とその条件を結合して、元々格納されている条件にも連結させてsql文を作っていく
  • すべての判定(null)かどうかが分かったら、一番最後についてしまっている"AND"を除く
$sql = "select * from syllabus WHERE $jouken;";
//if文の条件分岐上、最後にANDが入ってしまうので取り除くため
$sql=str_replace("AND ;",";",$sql);
  • SELECT…の文に前の段階で完成した条件部分を結合させる→SQL文完成!\(^o^)/
  • DBにアクセスして、SQL実行→結果を受け取る
  • for文table表示させる
//表の行数と同じ回数を繰り返す
while($row=mysql_fetch_array($rs)){

//HTML文を出力 表の行の開始 を出力
	print("");
	
//表の列数と同じ回数を繰り返す
	for($j=0;$j<$num;$j++){
	
//HTML文を出力 列の内容を で囲んで出力
	  if($j==0){
		print("".$row[$j]."");
	  }else{
		print("".$row[$j]."");
	  }
	}
//HTML文を出力 表の改行 を出力
	print("");
}

//HTML文を出力 テーブルの終了を指定
print("");

  • 表示されるtableのうち、科目番号部分だけリンクを付けて置く(syllabus.php?="科目番号"へのリンク)
  1. syllabus.phpに?=の形でデータを渡す
  • syllabus.phpでデータを受け取る
  • それをSQL文に連結させて検索
$sql="SELECT *
FROM syllabus, charge, questionnaire, subject, professor
WHERE syllabus.kamoku_num =".$num."
AND charge.kamoku_num =".$num."
AND questionnaire.kamoku_num =".$num."
AND subject.kamoku_num =".$num."
AND professor.t_num = (
SELECT t_num
FROM charge
WHERE kamoku_num =".$num."); ";

※このソースはひどい…今日フルボッコされてきます…

  • あとはmysql1.phpと同様にfor文で回してtable表示