昨天對資料庫做了一項重大變更, stock_settings 資料表加入 test_mode 欄位, 這樣要做測試時只要線上修改, 不需要改程式 :
//讀取 stock_settings (測試用)
$RS=search("stock_settings");
$test_mode=$RS[0]["test_mode"]; //"Y"=測試模式
$test_date=$RS[0]["test_date"]; //"Y"=測試日期
//製作今日日期
$today=date("Y-m-d"); //2011-12-10
if ($test_mode=="Y") { //測試模式時
$YMD=explode("-", $test_date);
$test_date=mktime(0,0,0,$YMD[1],$YMD[2],$YMD[0]); //時分秒月日年
$today=date("Y-m-d",$test_date); //覆蓋 $today, 擷取測試日期之報告
} //end of if
//讀取 report 資料表, 判斷本日是否已有報告
$SQL="SELECT * FROM `report` WHERE `date_time` LIKE '".$today."%'";
$RS=run_sql($SQL);
if ($test_mode=="Y") {$RS="";} //測試模式時以字串覆蓋陣列,允許重複產生報告
if (is_array($RS)) {echo "本日已有報告";} //工作模式,不允許重複產生報告
else { //本日未有報告, 進行擷取
...
}
2013-06-22 註 :
後來在之前寫的程式發現用 list 更簡潔 :
if ($test_mode=="Y") { //測試模式時
list($Y,$M,$D)=explode("-", $test_date); //分出年月日
$test_date=mktime(0,0,0,$M,$D,$Y); //時分秒月日年
$today=date("Y-m-d",$test_date); //覆蓋 $today, 擷取測試日期之報告
} //end of if
沒有留言 :
張貼留言