線上書籍

Home

[1002] PHP入門班

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