Subversion Repositories php-qbpwcf

Rev

Blame | Last modification | View Log | RSS feed

<?php

#使用命名空間
namespace qbpwcf{

        #匯入外部套件
        include("../allInOne.php");

        #說明要測試的案例
        echo"<hr>analyse::changeMutiChoiceToSingleChoice - testCase 1<br>";

        /*

        #涵式說明
        #將逗號分隔的字串 "1,2,5,7" 變成 "1,1,0,0,1,0,1" 
        #必填的參數:
        $conf["stringData"]="1,2,5,7";#類似"1,2,5,7"的字串
        #可省略的參數:
        #$conf["maxOptionNum"]="";#最後一個問項的號碼爲?
        var_dump(analyse::changeMultiChoiceToSingleChoice($conf));
        unset($conf);   

        #涵式說明
        #將逗號分隔的字串 "1,2,5,7" 變成 "1,1,0,0,1,0,1" 
        #必填的參數:
        $conf["stringData"]="1,2,5,7";#類似"1,2,5,7"的字串
        #可省略的參數:
        $conf["maxOptionNum"]="10";#最後一個問項的號碼爲?
        var_dump(analyse::changeMultiChoiceToSingleChoice($conf));
        unset($conf);   

        */

        #分隔線 
        echo"<hr> analyse::changeMutiChoiceToSingleChoiceFromCsvFile - testCase 1";

        /*

        #涵式說明:
        #讀取csv檔案,一列代表一個選項填寫的情況,然後交由 analyse::changeMutiChoiceToSingleChoice 處理,並將結果寫入新的檔案裏面。
        #回傳的結果:
        #$result["status"],執行是否正常.
        #$result["error"],錯誤訊息.
        #$result["function"],當前執行的函數名稱.
        #$result["outputCsvFileAddress"],處理完畢後新檔案的位置.
        #必填寫的參數:
        $conf["oriCsvFileAddAndName"]="analyseT/analyseT.csv";#原始csv檔案的位置
        #$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
        $conf["fileArgu"]=__FILE__;
        #可省略的參數
        $conf["newCsvFileAddAndName"]="analyseT/analyseT-processed.csv";#處理好的新csv檔案位置
        $conf["optionNameArray"]=array("a1","a2","a3","a4","a5","b1","b2","b3","b4","b5","b6","b7","c1","c2","c3","c4","c5","d1","d2","d3","d4","e1");#選項的名稱依序爲?
        var_dump(analyse::changeMultiChoiceToSingleChoiceFromCsvFile($conf));
        #analyse::changeMultiChoiceToSingleChoiceFromCsvFile($conf);
        unset($conf);

        */

        #分隔線 
        echo"<hr>analyse::mergePairedData - testCase 1<br>";
        
        /*
        
        #將兩份csv檔案裡面特定一個同名的欄位的數值進行對照,僅留下有相同數值的資料
        #回傳的結果:
        #$result["status"],執行是否正常,"true"正常,"false"不正常.
        #$result["error"],錯誤訊息.
        #$result["content"],合併好的內容.
        #必填的參數:
        $conf["csvFileA"]="analyseT/analyseT-a.csv";#第1個csv檔案的位置與名稱
        $conf["csvFileB"]="analyseT/analyseT-b.csv";#第2個csv檔案的位置與名稱
        $conf["compareColumnName"]="sn";#要對照值是否相等的欄位名稱
        #$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
        $conf["fileArgu"]=__FILE__;
        #可省略的參數:
        $conf["csvFilePathAndName"]="analyseT/analyse.mergePairedData";#輸出的csv檔案路徑與名稱,預設爲系統時間,副檔名"csv"會自動加上.
        $conf["noDownload"]="true";#如果爲"true"則代表不要讓使用者下載,但會回傳檔案的相對位置
        var_dump(analyse::mergePairedData($conf));
        #analyse::mergePairedData($conf);
        unset($conf);
        
        */
        
        #分隔線 
        echo"<hr>analyse::mergePairedData - testCase 2<br>";
        
        /*
        
        #將兩份csv檔案裡面特定一個同名的欄位的數值進行對照,僅留下有相同數值的資料
        #必填的參數:
        $conf["csvFileA"]="analyseT/analyseT-mergePaiedData-csvFileA.csv";#第1個csv檔案的位置與名稱
        $conf["csvFileB"]="analyseT/analyseT-mergePaiedData-csvFileB.csv";#第2個csv檔案的位置與名稱
        $conf["compareColumnName"]="quesnum";#要對照值是否相等的欄位名稱
        #$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
        $conf["fileArgu"]=__FILE__;
        #可省略的參數:
        $conf["csvFilePathAndName"]="analyseT/analyseT-mergePaiedData-testCase2";#輸出的csv檔案路徑與名稱,預設爲系統時間,副檔名"csv"會自動加上.
        $conf["noDownload"]="true";#如果爲"true"則代表不要讓使用者下載,但會回傳檔案的相對位置
        var_dump(analyse::mergePairedData($conf));
        unset($conf);
        
        */
        
        #分隔線 & 說明現在要測試的涵式
        echo"<hr>analyse::delSepecificData - testCase 1<br>";
        
        /*
        
        #涵式說明:
        #刪除多個欄位中其數值符合指定條件的資料
        #回傳的結果:
        #若 $conf["noDownload"] 設為 "true" 則會回傳處理好的相對路徑檔案路徑與名稱
        #必填的參數:
        $conf["csvFileLocation"]="analyseT/analyseT-delSepecificData.csv";#要進行處理的csv位置與名稱
        $conf["coditionColumn"]=array("a","b","c");#要檢查的欄位名稱
        $conf["coditionValue"]="0";#欄位數值內容若等於多少則符合要移除的條件
        #$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
        $conf["fileArgu"]=__FILE__;
        #可省略的參數:
        $conf["storeFolderName"]=".csv";#要儲存到哪個位置,預設爲跟網頁檔案一樣的位置
        $conf["csvFilePathAndName"]="analyseT/analyse-delSepecificData(export)";#csv檔案的名稱,預設爲系統時間
        $conf["noDownload"]="true";#如果爲"true"則代表不要讓使用者下載,但會回傳檔案的相對位置
        var_dump(analyse::delSepecificData($conf));
        unset($conf);
        
        */
        
        #分隔線 & 說明現在要測試的涵式
        echo"<hr>analyse::build2VarForm1 - testCase 1<br>";

        /*

        #涵式說明:
        #將一個變數變成兩個變數
        #必填的參數:
        $conf["csvFileLocation"]="analyseT/已剔除展聽停留時間為0者.csv";#csv檔案的位置
        $conf["addFromVar"]=array("A0停留時間","A1停留時間","A3停留時間","A5停留時間","C停留時間","B1停留時間","B3停留時間","B5停留時間","B6停留時間","B7停留時間","B9停留時間","B11停留時間","B12停留時間","B13停留時間","A7停留時間","A9停留時間","A11停留時間");#要從哪些變數(欄位)來產生新的變數內容           
        $conf["newVarName"]="停留的地點";#要新增的變數(欄位)名稱
        $conf["sameValueColumnName"]="展聽停留的時間";#要新增的變數(欄位)名稱
        #$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
        $conf["fileArgu"]=__FILE__;
        #可省略的參數:
        #$conf["newVarValue"]=array();#要增加變數的數值內容陣列,須與$conf["addFromVar"]的元素數量相同。預設與$conf["addFromVar"]相同
        $conf["outputCsvFilePathAndName"]="analyseT/analyse-build2VarForm1";#要儲存到哪個位置,預設爲跟網頁檔案一樣的位置,檔案名稱預設爲系統時間,副檔名csv會自動加上.
        $conf["noDownload"]="true";#如果爲"true"則代表不要讓使用者下載,但會回傳檔案的相對位置
        var_dump(analyse::build2VarForm1($conf));
        unset($conf);
        
        */
        
        #分隔線 & 說明現在要測試的涵式
        echo"<hr>analyse::changeToNumberList - testCase 1<br>";
        
        /*
        
        #函式說明:
        #將單一欄格式為"a1,a2,a3,b1,b4,c5,c6,d1"且
                #a的選項有a1,a2,a3.
                #b的選項有b1,b2,b3.b4,b5
                #c的選項有c1,c2,c3,c4,c5,c6
                #d的選項有d1,d2,d3
                #的字串轉變成1,2,3,5,7,13,14,15
        #回傳的結果:
        #$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
        #$result["error"],錯誤訊息陣列
        #$result["content"],處理好的字串
        #必填的參數:
        #$conf["inputStr"],要處理的字串.
        $conf["inputStr"]="a1,a3,b2,b4,c6"; 
        #$conf["leaderWordArray"],字串陣列,為代表某一類的代號陣列,請按照順序排列.
        $conf["leaderWordArray"]=array("a","b","c");
        #$conf["leaderWordOptionCountArray"],字串陣列,每類代號的選項數目,請按照順序排列.
        $conf["leaderWordOptionCountArray"]=array("3","5","6");
        var_dump(analyse::changeToNumberList($conf));
        unset($conf);
        
        */
        
        #分隔線 & 說明現在要測試的涵式
        echo "<hr>analyse::changeToNumberListInCsv - testCase1 <br>";

        /*

        #函式說明: 
        #將csv檔中多行用「,」分隔且有不同前置字元的順序字串,變成多行用數字且按順序排列用「,」分隔的csv檔案.
        #回傳的結果:
        #$result["status"],執形式否正常,"true"代表正常,"false"代表不正常.
        #$result["error"],錯誤訊息.
        #$result["csvFile"],處理好的csv檔案位置與名稱.
        #必填的參數:
        #$conf["csvIn"],字串,要處理的csv檔案;
        $conf["csvIn"]="analyseT/analyseT-changeToNumberListInCsv.csv";
        #$conf["leaderWordArray"],陣列,為代表某一類的代號陣列,請按照順序排列.
        $conf["leaderWordArray"]=array("a","b","c","d");
        #$conf["leaderWordOptionCountArray"],陣列,每類代號的選項數目,請按照順序排列.
        $conf["leaderWordOptionCountArray"]=array("5","6","5","4");
        #$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
        $conf["fileArgu"]=__FILE__;
        #可省略的參數:
        #$conf["csvOutFilePathAndName"],字串,輸出的檔案要存放在那裡與其名稱為何?預設為同目錄底下其檔案名稱為系統時間.
        $conf["csvOutFilePathAndName"]="analyseT/analyseT-changeToNumberListInCsv-processed";
        #$conf["noDownload"],字串,"true"代表要立即下載產生好的csv檔案,"false"代表不要立即下載,預設為"true".
        $conf["noDownload"]="true";
        var_dump(analyse::changeToNumberListInCsv($conf));
        #analyse::changeToNumberListInCsv($conf);
        unset($conf);
        
        */
        
        #分隔線 & 說明現在要測試的涵式
        echo "<hr>analyse::spiltTimeColumn - testCase 1<br>";
        
        /*
        
        #函式說明:
        #將csv檔的時間欄位格式「2009-07-11 13:21:45」分為多個欄位,變成年、月、日、時、分、秒等六個欄位.
        #回傳的結果:
        #$result["status"],執行是否正確,"true"代表正確,"false"代表不正常.
        #$result["error"],錯誤訊息陣列.
        #$result["csvFilePathAndName"],輸出的csv檔案路徑與檔案名稱.
        #必填的參數:
        $conf["oriCsvFilePath"]="analyseT/analyseT-spiltTimeColumn-input.csv";#字串,要轉換的單一版本問卷樣本.
        $conf["outputCsvFilePath"]="analyseT/analyseT-spiltTimeColumn-output";#字串,轉換好的問卷樣本要儲存到哪邊.
        #$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
        $conf["fileArgu"]=__FILE__;
        var_dump(analyse::spiltTimeColumn($conf));
        unset($conf);

        */

        #分隔線 & 說明現在要測試的涵式
        echo "<hr>analyse::numSampleToStr - testCase 1<br>";

        /*

        #涵式說明:
        #將問卷樣本從以逗號間隔的數字編號代表的填寫內容轉換成用「;」間隔的實際填寫的內容,結尾也要一個「;」
        #也就是將傳統問卷樣本轉換成問卷系統匯入樣本時專用的格式.
        #樣本csv檔案的位置的第一列為各欄位的題目.
        #樣本csv檔案的位置的第一列過後為每筆樣本各欄位題目對應的填答數字代號.數字代號間用半型的逗號「,」檢查.
        #儲存題目對應的選項內容的csv檔案的第一欄每一列為每個題目的名稱.
        #儲存題目對應的選項內容的csv檔案的第一欄後面每欄每一列為每個題目對應的選項內容,一個選項佔用一欄.
        #回傳結果:
        #$result["status"],執行正常與否,"true"代表正常,"false"代表不正常.
        #$result["error"],錯誤訊息陣列.
        #$resutl["function"],當前執行的涵式名稱.
        #$result["content"],處理好的檔案所在位置.
        #必填參數:
        #$conf["samplesCsvFile"],字串,樣本csv檔案的位置.
        $conf["samplesCsvFile"]="analyseT/analyse::numSampleToStr.samplesCsvFile.csv";
        #$conf["questAndOptionCsvFile"],字串,儲存題目對應的選項內容的csv檔案.
        $conf["questAndOptionCsvFile"]="analyseT/analyse::numSampleToStr.questAndOptionCsvFile.csv";
        #$conf["outputFilePathAndName"],字串,轉換好的檔案要存到哪邊,名稱為何,副檔名會自動加上.
        $conf["outputFilePathAndName"]="analyseT/analyse::numSampleToStr.outputFilePathAndName";
        #$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
        $conf["fileArgu"]=__FILE__;
        var_dump(analyse::numSampleToStr($conf));
        #analyse::numSampleToStr($conf);
        unset($conf);

        */

        #提示正在測試的方法
        echo "<hr>analyse::importQuestionnaireSampleFileWithValidation<br>";

        /*

        #函式說明:
        #透過問卷設定檔與傳統單一版本的問卷樣本檔來將問卷樣本匯入資料表
        #其中問卷樣本檔第一列各欄位依序為 "sampleNo"(樣本編號),題項的題目,"year"(調查時間的西元年),"month"(調查時間的月份),"week"(調查時間所屬星期),"day"(調查時間的日),"hour"(調查時間的時),"min"(調查時間的分),"sec"(調查時間的秒). 
        #其中問卷樣本檔的樣本編號不需要從1開始,只要可以識別是跟其他樣本不同即可.
        #其中問卷樣本檔week欄位的內容為從0~6的數字,依序以星期日,星期一,星期二...到星期六
        #其中問卷資訊檔題目設定必須跟資料庫中的問卷題目設定相同,否則該樣本題項將不會匯入。
        #回傳的結果:
        #$result["status"],執行是否正確,"true"代表正確,"false"代表不正常.
        #$result["error"],錯誤訊息陣列.
        #$result["warning"],警告訊息陣列
        #必填的參數:
        #$conf["questionnaireSamplePath"],字串,要轉換的單一版本問卷樣本.
        $conf["questionnaireSamplePath"]=".analyseT/importQuestionnaireSamplesSampleFile.csv";
        #$conf["questionnaireSetupCsvPath"],字串,記錄問卷資訊的csv檔案.
        $conf["questionnaireSetupCsvPath"]=".analyseT/importQuestionnaireSampleFile.csv";
        #$conf["dbAddress"],字串,問卷資料庫的網路位址.
        $conf["dbAddress"]=$dbAddress;          
        #$conf["dbAccount"],字串,要連線到資料庫時所用的帳戶名稱.
        $conf["dbAccount"]=$dbAccount;
        #$conf["dbName"],字串,問卷相關資料所儲存的資料庫名稱.
        $conf["dbName"]=$dbName;        
        #可省略的參數:
        #$conf["dbPassword"],字串,要連線到資料庫時所用的密碼.
        $conf["dbPassword"]=$dbPassword;
        #$conf["questionnaireType"]["dtName"],字串,問卷資訊儲存在哪個資料表,預設為"questionnaireType".
        #$conf["questionnaireType"]["dtName"]="questionnaireType";
        #$conf["questionnaireType"]["typeNoColumnName"],字串,問卷編號的資料欄位名稱,預設為"typeNo".
        #$conf["questionnaireType"]["typeNoColumnName"]="typeNo";
        #$conf["questionnaireType"]["questionnaireTitleColumnName"],字串,問卷標題的資料欄位名稱,預設為"title".
        #$conf["questionnaireType"]["questionnaireTitleColumnName"]="title";
        #$conf["questionnaireType"]["pointsColumnName"],字串,問卷量表的資料欄位名稱,預設為"points".
        #$conf["questionnaireType"]["pointsColumnName"]="points";
        #$conf["questionnaireQuest"]["dtName"],字串,儲存問卷題項資料的資料表名稱
        #$conf["questionnaireQuest"]["dtName"]="questionnaireQuest";
        #$conf["questionnaireQuest"]["typeNoColumnName"],字串,問卷編號的資料欄位名稱,預設為"typeNo".
        #$conf["questionnaireQuest"]["typeNoColumnName"]="typeNo";
        #$conf["questionnaireQuest"]["questNoColumnName"],字串,題號資料欄位名稱,預設為"questNo".
        #$conf["questionnaireQuest"]["questNoColumnName"]="questNo";
        #$conf["questionnaireQuest"]["questTypeCodeColumnName"],字串,題型的資料欄位名稱,預設為"questTypeCode".
        #$conf["questionnaireQuest"]["questTypeCodeColumnName"]="questTypeCode";
        #$conf["questionnaireQuest"]["selectedQuestOptionMaxCountColumnName"],字串,題目選項的選擇上限的資料欄位名稱,預設為"selectedQuestOptionMaxCount".
        #$conf["questionnaireQuest"]["selectedQuestOptionMaxCountColumnName"]="selectedQuestOptionMaxCount";
        #$conf["questionnaireQuest"]["questContentColumnName"],字串,題目內容的資料欄位名稱,預設為"questContent".
        #$conf["questionnaireQuest"]["questContentColumnName"]="questContent";
        #$conf["questionnaireQuest"]["choiceValueColumnName"],字串,題目選項的資料欄位名稱,預設為"choiceValue".
        #$conf["questionnaireQuest"]["choiceValueColumnName"]="choiceValue";            
        #$conf["questionnaireQuest"]["maxLengthColumnName"],字串,題目回答內容的最大長度限制的資料欄位名稱,預設為"maxLength".
        #$conf["questionnaireQuest"]["maxLengthColumnName"]="maxLength";
        #$conf["questionnaireQuest"]["nullColumnName"],字串,題目是否可以忽略的資料欄位名稱,預設為"null".
        #$conf["questionnaireQuest"]["nullColumnName"]="null";
        #$conf["questionnaireQuest"]["perspectiveColumnName"],字串,題目所屬構面的資料欄位名稱,預設為"perspective".
        #$conf["questionnaireQuest"]["perspectiveColumnName"]="perspective";
        #$conf["questionnaireQuest"]["indicatorColumnName"],字串,題目對應的指標的資料欄位名稱,預設為"indicator".
        #$conf["questionnaireQuest"]["indicatorColumnName"]="indicator";        
        #$conf["importedQuestionnaireSample"]["dtName"],字串,問卷樣本的資料表名稱,預設為"questionnaireSample".
        #$conf["importedQuestionnaireSample"]["dtName"]="questionnaireSample";
        #$conf["importedQuestionnaireSample"]["questionnaireTypeColumnName"],字串,問卷樣本的問卷編號資料欄位名稱,預設為"typeNo".
        #$conf["importedQuestionnaireSample"]["questionnaireTypeColumnName"]="typeNo";          
        #$conf["importedQuestionnaireSample"]["noColumnName"],字串,問卷樣本的編號資料欄位名稱,預設為"guestNo".
        #$conf["importedQuestionnaireSample"]["noColumnName"]="guestNo";
        #$conf["importedQuestionnaireSample"]["questNoColumnName"],字串,問卷樣本的題號資料欄位名稱,預設為"questNo".
        #$conf["importedQuestionnaireSample"]["questNoColumnName"]="questNo";
        #$conf["importedQuestionnaireSample"]["answerColumnName"],字串,問卷樣本的答題選項與內容資料欄位名稱,預設為"questAnsSelet".
        #$conf["importedQuestionnaireSample"]["answerColumnName"]="questAnsSelet";
        #$conf["importedQuestionnaireSample"]["filledColumnName"],字串,問卷樣本題項是否有填寫的資料欄位名稱,預設為"filled".
        #$conf["importedQuestionnaireSample"]["filledColumnName"]="filled";
        #$conf["importedQuestionnaireSample"]["recordedYearColumnName"],字串,問卷樣本開始記錄的西元年份欄位名稱.
        #$conf["importedQuestionnaireSample"]["recordedYearColumnName"]="recordedYear";
        #$conf["importedQuestionnaireSample"]["recordedMonthColumnName"],字串,問卷樣本開始記錄的月份欄位欄位名稱.
        #$conf["importedQuestionnaireSample"]["recordedMonthColumnName"]="recordedMonth";
        #$conf["importedQuestionnaireSample"]["recordedDayColumnName"],字串,問卷樣本開始記錄的日欄位欄位名稱.
        #$conf["importedQuestionnaireSample"]["recordedDayColumnName"]="recordedDay";           
        #$conf["importedQuestionnaireSample"]["recordedHourColumnName"],字串,問卷樣本開始記錄的小時欄位欄位名稱.
        #$conf["importedQuestionnaireSample"]["recordedHourColumnName"]="recordedHour"; 
        #$conf["importedQuestionnaireSample"]["recordedMinColumnName"],字串,問卷樣本開始記錄的分鐘欄位欄位名稱.
        #$conf["importedQuestionnaireSample"]["recordedMinColumnName"]="recordedMin";
        #$conf["importedQuestionnaireSample"]["recordedSecColumnName"],字串,問卷樣本開始記錄的秒數欄位欄位名稱.
        #$conf["importedQuestionnaireSample"]["recordedSecColumnName"]="recordedSec";   
        #備註:
        #測試中,要在資料表questionnaireSample中增加開始記錄的年月份時分秒欄位.
        var_dump(analyse::importQuestionnaireSampleFileWithValidation($conf));
        unset($conf);

        */

        }#namespace qbpwcf end

?>