[1002] PHP入門班
一、 將班級資料做成選單
- 語法: select `class_sn`, `subject`, `class_name`, `teacher` FROM `tncomu_class` WHERE `access`='1' and `seme`='現在的學期' order by `subject`
- 問題一:「現在的學期」該怎麼抓呢?
- 做成選單: $opt="<select name='class_sn'>"; while(list($class_sn , $subject, $class_name, $ teacher) = mysql_fetch_row($result)){ $selected=($default_class_sn==$class_sn)?"selected":""; $opt.="<option value='{$class_sn}' $selected> {$class_name} </option>"; } $opt.="</select>";
- 學期:991、992、1001、1002、1011、1012,即「民國年+學期」
- 如何抓到民國年?民國年=西元年-1911
- 如何抓到西元年?date("Y")
- 如何抓到學期?第1學期=「今年3月8月」;第2學期=「今年9月到隔年2月」
- 如何抓到月?date("n") if($月<=2){ $seme=去年第2學期; }elseif($月>=3 and $月<=8){ $seme=今年第1學期; }else{ $seme=今年第2學期; }
- date()完整用法:http://www.php.net/manual/zh/function.date.php
- 文章表(tncomu_article)中有個欄位class_sn對應到班級表(tncomu_class)中的class_sn,如何讀出文章時順便取出班級名稱?
- 語法: select a.* , b.`class_name` from `tncomu_article` as a left join `tncomu_class` as b on a.`class_sn`=b.`class_sn` where a.seme='本學期' and a.`enable`='1'
- 「left join」代表以左邊為主,順便到右邊撈撈看有無指定的資料。
- 「right join」代表以右邊為主,順便到左邊撈撈看有無指定的資料。
- 「join」代表兩邊都要同時有資料,否則該筆資料不會出現。