【+課題】今日発表
授業の+課題として勝手に作っていたのは、シラバス検索システムです。その主なプログラムの流れを発表前にまとめたいと思います。
用意するのは、
- 幾つかの条件として入力されたフォームがnullかどうか確認する。もし、条件が入力されていれば変数に格納。されていなければ格納しない。
- この動作を条件分行う。文字列格納するときは、"AND"とその条件を結合して、元々格納されている条件にも連結させてsql文を作っていく
- すべての判定(null)かどうかが分かったら、一番最後についてしまっている"AND"を除く
$sql = "select * from syllabus WHERE $jouken;"; //if文の条件分岐上、最後にANDが入ってしまうので取り除くため $sql=str_replace("AND ;",";",$sql);
//表の行数と同じ回数を繰り返す while($row=mysql_fetch_array($rs)){ //HTML文を出力 表の行の開始を出力 print(" "); //表の列数と同じ回数を繰り返す for($j=0;$j<$num;$j++){ //HTML文を出力 列の内容を を出力 print(""); } //HTML文を出力 テーブルの終了を指定 print("");で囲んで出力 if($j==0){ print(" ".$row[$j]." "); }else{ print("".$row[$j]." "); } } //HTML文を出力 表の改行
- 表示されるtableのうち、科目番号部分だけリンクを付けて置く(syllabus.php?="科目番号"へのリンク)
- syllabus.phpに?=の形でデータを渡す
$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表示