| Line 13083... |
Line 13083... |
| 13083 |
#必填參數:
|
13083 |
#必填參數:
|
| 13084 |
#$conf["dbInfo"]["資料庫名稱"],字串陣列,爲要存取的"資料庫名稱"的連線資訊.
|
13084 |
#$conf["dbInfo"]["資料庫名稱"],字串陣列,爲要存取的"資料庫名稱"的連線資訊.
|
| 13085 |
#$conf["dbIfno"]["資料庫名稱"]["dbAddr"],字串,dbServer的位置.
|
13085 |
#$conf["dbIfno"]["資料庫名稱"]["dbAddr"],字串,dbServer的位置.
|
| 13086 |
#$conf["dbInfo"]["資料庫名稱"]["dbAddr"]="";
|
13086 |
#$conf["dbInfo"]["資料庫名稱"]["dbAddr"]="";
|
| 13087 |
#$conf["dbIfno"]["資料庫名稱"]["dbAcct"],字串,dbServer的連線帳號.
|
13087 |
#$conf["dbIfno"]["資料庫名稱"]["dbAcct"],字串,dbServer的連線帳號.
|
| 13088 |
#$conf["dbInfo"]["資料庫名稱"]["dbAcct"]="";
|
13088 |
#$conf["dbInfo"]["資料庫名稱"]["dbAcct"]="";
|
| 13089 |
#$conf["mainTable"],字串,為 主資料庫.資料表 的名稱,例如 "dbA.dtA".
|
13089 |
#$conf["mainTable"],字串,為 主資料庫.資料表 的名稱,例如 "dbA.dtA".
|
| 13090 |
$conf["mainTable"]="";
|
13090 |
$conf["mainTable"]="";
|
| 13091 |
#$conf["linkColumnName"],二字串陣列,為資料表間相連結的欄位名稱,格式為 array("mergedDb.mergedDt.mergedCol","linkDb.linkDt.linkCol") 就代表當前組好的欄位 mergedDb.mergedDt.mergedCol 跟資料庫 linkDB 表 linkDt 欄位 linkCol 進行資料的配對。
|
- |
|
| 13092 |
$conf["linkColumnName"]=array(array(""));
|
- |
|
| 13093 |
#可省略參數:
|
13091 |
#可省略參數:
|
| - |
|
13092 |
#$conf["linkColumnName"],二字串陣列,為資料表間相連結的欄位名稱,格式為 array("mergedDb.mergedDt.mergedCol","linkDb.linkDt.linkCol") 就代表當前組好的欄位 mergedDb.mergedDt.mergedCol 跟資料庫 linkDB 表 linkDt 欄位 linkCol 進行資料的配對。
|
| - |
|
13093 |
#$conf["linkColumnName"]=array(array(""));
|
| 13094 |
#$conf["dbInfo"]["資料庫名稱"]["dbPass"],字串,dbServer的連線密碼.
|
13094 |
#$conf["dbInfo"]["資料庫名稱"]["dbPass"],字串,dbServer的連線密碼.
|
| 13095 |
#$conf["dbInfo"]["資料庫名稱"]["dbPass"]="";
|
13095 |
#$conf["dbInfo"]["資料庫名稱"]["dbPass"]="";
|
| 13096 |
#$conf["dbInfo"]["資料庫名稱"]["dbPort"],字串,db連線用的port.
|
13096 |
#$conf["dbInfo"]["資料庫名稱"]["dbPort"],字串,db連線用的port.
|
| 13097 |
#$conf["dbInfo"]["資料庫名稱"]["dbPort"]="";
|
13097 |
#$conf["dbInfo"]["資料庫名稱"]["dbPort"]="";
|
| 13098 |
#$conf["columnYouWant"],字串陣列,為想要的資料表欄位,格式為 "dbName.dtName.colName".
|
13098 |
#$conf["columnYouWant"],字串陣列,為想要的資料表欄位,格式為 "dbName.dtName.colName".
|
| Line 13118... |
Line 13118... |
| 13118 |
#$conf["mainGroupBy"],字串陣列,爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆)。
|
13118 |
#$conf["mainGroupBy"],字串陣列,爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆)。
|
| 13119 |
#$conf["mainGroupBy"]=array();
|
13119 |
#$conf["mainGroupBy"]=array();
|
| 13120 |
#$conf["mainOrderItem"],字串,組好的資料的排序項目依據
|
13120 |
#$conf["mainOrderItem"],字串,組好的資料的排序項目依據
|
| 13121 |
#$conf["mainOrderItem"]="";
|
13121 |
#$conf["mainOrderItem"]="";
|
| 13122 |
#$conf["mainAscORdesc"],字串,組好的資料要低增還是遞減排序,asc爲遞增;desc爲遞減,預設不做處理.
|
13122 |
#$conf["mainAscORdesc"],字串,組好的資料要低增還是遞減排序,asc爲遞增;desc爲遞減,預設不做處理.
|
| 13123 |
#$conf["mainAscORdesc"]="";
|
13123 |
#$conf["mainAscORdesc"]="";
|
| 13124 |
#參考資料:
|
13124 |
#參考資料:
|
| 13125 |
#無.
|
13125 |
#無.
|
| 13126 |
#備註:
|
13126 |
#備註:
|
| 13127 |
#無.
|
13127 |
#無.
|
| 13128 |
*/
|
13128 |
*/
|
| Line 13177... |
Line 13177... |
| 13177 |
$conf["variableCheck.checkArguments"]["referenceVarKey"]="variableCheck.checkArguments";
|
13177 |
$conf["variableCheck.checkArguments"]["referenceVarKey"]="variableCheck.checkArguments";
|
| 13178 |
#可省略參數:
|
13178 |
#可省略參數:
|
| 13179 |
#$conf["variableCheck.checkArguments"]["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"false"。
|
13179 |
#$conf["variableCheck.checkArguments"]["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"false"。
|
| 13180 |
#$conf["variableCheck.checkArguments"]["canBeEmptyString"]="false";
|
13180 |
#$conf["variableCheck.checkArguments"]["canBeEmptyString"]="false";
|
| 13181 |
#$conf["variableCheck.checkArguments"]["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
|
13181 |
#$conf["variableCheck.checkArguments"]["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
|
| 13182 |
$conf["variableCheck.checkArguments"]["skipableVariableName"]=array("columnYouWant","mainDtWhereColName","mainDtWhereColVal","mainDtWhereColCombine","mainWhereColumnOperator","mainWhereColumnAndOr","mainWhereIn","mainWhereNotIn","mainNumberStart","mainNumLimit","mainGroupBy","mainOrderItem","mainAscORdesc");
|
13182 |
$conf["variableCheck.checkArguments"]["skipableVariableName"]=array("linkColumnName","columnYouWant","mainDtWhereColName","mainDtWhereColVal","mainDtWhereColCombine","mainWhereColumnOperator","mainWhereColumnAndOr","mainWhereIn","mainWhereNotIn","mainNumberStart","mainNumLimit","mainGroupBy","mainOrderItem","mainAscORdesc");
|
| 13183 |
#$conf["variableCheck.checkArguments"]["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
|
13183 |
#$conf["variableCheck.checkArguments"]["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
|
| 13184 |
$conf["variableCheck.checkArguments"]["skipableVariableType"]=array("array","array","array","array","array","array","array","array","string","string","array","string","string");
|
13184 |
$conf["variableCheck.checkArguments"]["skipableVariableType"]=array("array","array","array","array","array","array","array","array","array","string","string","array","string","string");
|
| 13185 |
#$conf["variableCheck.checkArguments"]["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,"null"代表不指定.
|
13185 |
#$conf["variableCheck.checkArguments"]["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,"null"代表不指定.
|
| 13186 |
#$conf["variableCheck.checkArguments"]["skipableVarDefaultValue"]=array("");
|
13186 |
$conf["variableCheck.checkArguments"]["skipableVarDefaultValue"]=array(array(),null,null,null,null,null,null,null,null,null,null,null,null,null);
|
| 13187 |
$checkResult=variableCheck::checkArguments($conf["variableCheck.checkArguments"]);
|
13187 |
$checkResult=variableCheck::checkArguments($conf["variableCheck.checkArguments"]);
|
| 13188 |
unset($conf["variableCheck.checkArguments"]);
|
13188 |
unset($conf["variableCheck.checkArguments"]);
|
| 13189 |
|
13189 |
|
| 13190 |
#如果檢查出錯
|
13190 |
#如果檢查出錯
|
| 13191 |
if($checkResult["status"]=="false"){
|
13191 |
if($checkResult["status"]=="false"){
|
| Line 13473... |
Line 13473... |
| 13473 |
#如果有設置 $conf["mainOrderItem"]
|
13473 |
#如果有設置 $conf["mainOrderItem"]
|
| 13474 |
if(isset($conf["mainOrderItem"])){
|
13474 |
if(isset($conf["mainOrderItem"])){
|
| 13475 |
|
13475 |
|
| 13476 |
#設置參數
|
13476 |
#設置參數
|
| 13477 |
$conf["db::fastGetDbData"]["orderItem"]=$conf["mainOrderItem"];#爲排序的項目依據,若要用隨機抽樣,可以用"rand()",可省略。
|
13477 |
$conf["db::fastGetDbData"]["orderItem"]=$conf["mainOrderItem"];#爲排序的項目依據,若要用隨機抽樣,可以用"rand()",可省略。
|
| 13478 |
|
13478 |
|
| 13479 |
}#if end
|
13479 |
}#if end
|
| 13480 |
|
13480 |
|
| 13481 |
#如果有設置 $conf["mainAscORdesc"]
|
13481 |
#如果有設置 $conf["mainAscORdesc"]
|
| 13482 |
if(isset($conf["mainAscORdesc"])){
|
13482 |
if(isset($conf["mainAscORdesc"])){
|
| 13483 |
|
13483 |
|
| Line 13544... |
Line 13544... |
| 13544 |
unset($merged[$i]);
|
13544 |
unset($merged[$i]);
|
| 13545 |
|
13545 |
|
| 13546 |
}#for end
|
13546 |
}#for end
|
| 13547 |
|
13547 |
|
| 13548 |
#var_dump($merged);exit;
|
13548 |
#var_dump($merged);exit;
|
| 13549 |
|
13549 |
|
| 13550 |
#針對每個 $conf["linkColumnName"]
|
13550 |
#針對每個 $conf["linkColumnName"]
|
| 13551 |
foreach($conf["linkColumnName"] as $linkCondition){
|
13551 |
foreach($conf["linkColumnName"] as $linkCondition){
|
| 13552 |
|
13552 |
|
| 13553 |
#如果不是陣列
|
13553 |
#如果不是陣列
|
| 13554 |
if(gettype($linkCondition)!=="array"){
|
13554 |
if(gettype($linkCondition)!=="array"){
|
| Line 13731... |
Line 13731... |
| 13731 |
|
13731 |
|
| 13732 |
#初始化儲存既有的欄位名稱
|
13732 |
#初始化儲存既有的欄位名稱
|
| 13733 |
$mergedColName=array_keys($merged);
|
13733 |
$mergedColName=array_keys($merged);
|
| 13734 |
|
13734 |
|
| 13735 |
#取得既有的欄位的數量
|
13735 |
#取得既有的欄位的數量
|
| 13736 |
$mergedColCount=count($mergedColName);
|
13736 |
$mergedColCount=count($mergedColName);
|
| 13737 |
|
13737 |
|
| 13738 |
#主表有幾筆資料就執行幾次
|
13738 |
#主表有幾筆資料就執行幾次
|
| 13739 |
foreach($merged[$oriCol] as $index=>$mainColVal){
|
13739 |
foreach($merged[$oriCol] as $index=>$mainColVal){
|
| 13740 |
|
13740 |
|
| 13741 |
#函式說明:
|
13741 |
#函式說明:
|
| 13742 |
#一次取得資料庫、表的資料
|
13742 |
#一次取得資料庫、表的資料
|
| Line 13763... |
Line 13763... |
| 13763 |
#如果有設置次表的密碼
|
13763 |
#如果有設置次表的密碼
|
| 13764 |
if(isset($conf["dbInfo"][$linkDb]["dbPass"])){
|
13764 |
if(isset($conf["dbInfo"][$linkDb]["dbPass"])){
|
| 13765 |
|
13765 |
|
| 13766 |
$conf["db::fastGetDbData"]["dbPassword"]=$conf["dbInfo"][$linkDb]["dbPass"];#爲要存取dbServer的密碼
|
13766 |
$conf["db::fastGetDbData"]["dbPassword"]=$conf["dbInfo"][$linkDb]["dbPass"];#爲要存取dbServer的密碼
|
| 13767 |
|
13767 |
|
| 13768 |
}#if end
|
13768 |
}#if end
|
| 13769 |
|
13769 |
|
| 13770 |
$conf["db::fastGetDbData"]["WhereColumnName"]=array($linkCol);#用於判斷語句的欄位項目陣列。
|
13770 |
$conf["db::fastGetDbData"]["WhereColumnName"]=array($linkCol);#用於判斷語句的欄位項目陣列。
|
| 13771 |
$conf["db::fastGetDbData"]["WhereColumnValue"]=array($mainColVal);#用於判斷語句的欄位數值陣列,若與LIKE搭配,則可以在關鍵自字串的左右名加上「%」符號,這樣就可以搜尋具有該字串的內容。
|
13771 |
$conf["db::fastGetDbData"]["WhereColumnValue"]=array($mainColVal);#用於判斷語句的欄位數值陣列,若與LIKE搭配,則可以在關鍵自字串的左右名加上「%」符號,這樣就可以搜尋具有該字串的內容。
|
| 13772 |
#$conf["WhereColumnCombine"]=array("");#用於判斷語句當中需要()起來的判斷式,須爲陣列值,"s"代表「(」,"e"代表「)」 ,若無則須設爲""。
|
13772 |
#$conf["WhereColumnCombine"]=array("");#用於判斷語句當中需要()起來的判斷式,須爲陣列值,"s"代表「(」,"e"代表「)」 ,若無則須設爲""。
|
| 13773 |
#$conf["WhereColumnOperator"]=array("");#用於判斷語句的比較符號陣列,可以用的符號有「"="、"!="、">"、"<"、"LIKE"、"NOT LIKE"」,預設都爲「=」。
|
13773 |
#$conf["WhereColumnOperator"]=array("");#用於判斷語句的比較符號陣列,可以用的符號有「"="、"!="、">"、"<"、"LIKE"、"NOT LIKE"」,預設都爲「=」。
|
| Line 13808... |
Line 13808... |
| 13808 |
foreach($fastGetDbData["dataColumnName"] as $linkedColName){
|
13808 |
foreach($fastGetDbData["dataColumnName"] as $linkedColName){
|
| 13809 |
|
13809 |
|
| 13810 |
#給予NULL
|
13810 |
#給予NULL
|
| 13811 |
$newMerged[$linkDb.".".$linkDt.".".$linkedColName][$index]=NULL;
|
13811 |
$newMerged[$linkDb.".".$linkDt.".".$linkedColName][$index]=NULL;
|
| 13812 |
|
13812 |
|
| 13813 |
}#foreach end
|
13813 |
}#foreach end
|
| 13814 |
|
13814 |
|
| 13815 |
}#if end
|
13815 |
}#if end
|
| 13816 |
|
13816 |
|
| 13817 |
}#if end
|
13817 |
}#if end
|
| 13818 |
|
13818 |
|
| Line 13837... |
Line 13837... |
| 13837 |
for($j=0;$j<$mergedColCount;$j++){
|
13837 |
for($j=0;$j<$mergedColCount;$j++){
|
| 13838 |
|
13838 |
|
| 13839 |
#複製既有的欄位資料
|
13839 |
#複製既有的欄位資料
|
| 13840 |
$newMerged[$mergedColName[$j]][$newMergedDataIndex]=$newMerged[$mergedColName[$j]][$index];
|
13840 |
$newMerged[$mergedColName[$j]][$newMergedDataIndex]=$newMerged[$mergedColName[$j]][$index];
|
| 13841 |
|
13841 |
|
| 13842 |
}#for end
|
13842 |
}#for end
|
| 13843 |
|
13843 |
|
| 13844 |
#次表有幾個欄位就執行幾次
|
13844 |
#次表有幾個欄位就執行幾次
|
| 13845 |
foreach($fastGetDbData["dataColumnName"] as $linkedColName){
|
13845 |
foreach($fastGetDbData["dataColumnName"] as $linkedColName){
|
| 13846 |
|
13846 |
|
| 13847 |
#加上新的欄位資料
|
13847 |
#加上新的欄位資料
|
| 13848 |
$newMerged[$linkDb.".".$linkDt.".".$linkedColName][$newMergedDataIndex]=$fastGetDbData["dataContent"][$linkedColName][$i];
|
13848 |
$newMerged[$linkDb.".".$linkDt.".".$linkedColName][$newMergedDataIndex]=$fastGetDbData["dataContent"][$linkedColName][$i];
|
| 13849 |
|
13849 |
|
| 13850 |
}#foreach end
|
13850 |
}#foreach end
|
| 13851 |
|
13851 |
|
| 13852 |
}#for end
|
13852 |
}#for end
|
| 13853 |
|
13853 |
|
| 13854 |
}#else end
|
13854 |
}#else end
|
| 13855 |
|
13855 |
|
| 13856 |
}#foreach end
|
13856 |
}#foreach end
|
| 13857 |
|
13857 |
|
| 13858 |
}#foreach end
|
13858 |
}#foreach end
|
| 13859 |
|
13859 |
|
| 13860 |
#如果有設置要的欄位
|
13860 |
#如果有設置要的欄位
|
| 13861 |
if(isset($conf["columnYouWant"])){
|
13861 |
if(isset($conf["columnYouWant"])){
|
| 13862 |
|
13862 |
|