//QUERY the $courseTypeListArray $COURSE_TYPE_TABLE_NAME = $PAGE_INFO_ARRAY[$COURSE_TYPE_PAGE_SWITCH]['TABLE_NAME']; $COURSE_TYPE_TABLE_NAME .= "_" . $semesterListArray[$semesterTargetArray]['SEMESTER'] . "_" . $semesterListArray[$semesterTargetArray]['PART']; $COURSE_TYPE_TABLE_KEY_NAMES_ARRAY = $TABLE_KEY_NAMES_ARRAY[$COURSE_TYPE_PAGE_SWITCH]; $courseTypeListArray = table_data_query($COURSE_TYPE_TABLE_NAME, $COURSE_TYPE_TABLE_KEY_NAMES_ARRAY); //Query the $courseListArray $TABLE_NAME = $PAGE_INFO_ARRAY[$PAGE_SWITCH]['TABLE_NAME']; $THIS_TABLE_KEY_NAMES_ARRAY = $TABLE_KEY_NAMES_ARRAY[$PAGE_SWITCH]; $THIS_TABLE_KEY_TYPES_ARRAY = $TABLE_KEY_TYPES_ARRAY[$PAGE_SWITCH]; $TABLE_NAME .= "_" . $semesterListArray[$semesterTargetArray]['SEMESTER'] . "_" . $semesterListArray[$semesterTargetArray]['PART']; $courseTypeCount0 = count($courseTypeListArray); for ($i = 0; $i < $courseTypeCount0; $i++) { $courseTypeNamesArray[$i] = $courseTypeListArray[$i]['COURSE_TYPE']; } $THIS_TABLE_KEY_NAMES_ARRAY = table_key_names_auto_fill($THIS_TABLE_KEY_NAMES_ARRAY, $courseTypeNamesArray, $courseTypeCount0); $THIS_TABLE_KEY_TYPES_ARRAY = table_key_types_auto_fill($THIS_TABLE_KEY_TYPES_ARRAY, $courseTypeNamesArray, $courseTypeCount0, "varchar(15)"); $courseListArray = table_data_query($TABLE_NAME, $THIS_TABLE_KEY_NAMES_ARRAY); //Load the target array ID number $targetId = $courseListArray[$courseTargetArray][$THIS_TABLE_KEY_NAMES_ARRAY['ID']]; //TODO : rewrite the database_table_create "if" phrase //CREATE the TABLE if not avaliable if ($semesterTargetArray != "") { database_table_create($TABLE_NAME, $THIS_TABLE_KEY_NAMES_ARRAY, $THIS_TABLE_KEY_TYPES_ARRAY); } //ADD the information to database if POST if ($_POST["courseInfoAdd"]) { //Load the POST info array foreach ($THIS_TABLE_KEY_NAMES_ARRAY as $value) { $courseInfoArray[$value] = $_POST[$THIS_TABLE_KEY_NAMES_ARRAY[$value]]; } unset($value);
$classTargetArray = $_POST['classList']; //QUERY the $courseTypeListArray $COURSE_TYPE_TABLE_NAME = table_name_form($PAGE_INFO_ARRAY, $COURSE_TYPE_PAGE_SWITCH, $semesterListArray, $semesterTargetArray); $COURSE_TYPE_TABLE_KEY_NAMES_ARRAY = $TABLE_KEY_NAMES_ARRAY[$COURSE_TYPE_PAGE_SWITCH]; $courseTypeListArray = table_data_query($COURSE_TYPE_TABLE_NAME, $COURSE_TYPE_TABLE_KEY_NAMES_ARRAY); //QUERY the $courseListArray $COURSE_TABLE_NAME = table_name_form($PAGE_INFO_ARRAY, $COURSE_PAGE_SWITCH, $semesterListArray, $semesterTargetArray); $COURSE_TABLE_KEY_NAMES_ARRAY = table_key_names_array_get($COURSE_TABLE_NAME); $courseListArray = table_data_query($COURSE_TABLE_NAME, $COURSE_TABLE_KEY_NAMES_ARRAY); //Query the $classListArray $CLASS_TABLE_NAME = table_name_form($PAGE_INFO_ARRAY, $CLASS_PAGE_SWITCH, $semesterListArray, $semesterTargetArray); $CLASS_TABLE_KEY_NAMES_ARRAY = $TABLE_KEY_NAMES_ARRAY[$PAGE_SWITCH]; $CLASS_TABLE_KEY_TYPES_ARRAY = $TABLE_KEY_TYPES_ARRAY[$PAGE_SWITCH]; $weekCount = $semesterListArray[$semesterTargetArray]['WEEK_COUNT']; $CLASS_TABLE_KEY_NAMES_ARRAY = table_key_names_auto_fill($CLASS_TABLE_KEY_NAMES_ARRAY, "WEEK", $weekCount, 1); $CLASS_TABLE_KEY_TYPES_ARRAY = table_key_types_auto_fill($CLASS_TABLE_KEY_TYPES_ARRAY, "WEEK", $weekCount, "varchar(15)", 1); //COURSE_LEFT TABLE structure create $courseListArrayCount0 = count($courseListArray); for ($i = 0; $i < $courseListArrayCount0; $i++) { $CLASS_TABLE_KEY_NAMES_ARRAY = array_key_insert($CLASS_TABLE_KEY_NAMES_ARRAY, $courseListArray[$i]['COURSE_KEY_NAME'], $courseListArray[$i]['COURSE_KEY_NAME']); $CLASS_TABLE_KEY_TYPES_ARRAY = array_key_insert($CLASS_TABLE_KEY_TYPES_ARRAY, $courseListArray[$i]['COURSE_KEY_NAME'], "varchar(15)"); } //QUERY $classListArray $classListArray = table_data_query($CLASS_TABLE_NAME, $CLASS_TABLE_KEY_NAMES_ARRAY); //Load the target array ID number $targetId = $classListArray[$classTargetArray][$CLASS_TABLE_KEY_NAMES_ARRAY['ID']]; //TODO : rewrite the database_table_create "if" phrase //CREATE the TABLE if not avaliable if ($semesterTargetArray != "") { database_table_create($CLASS_TABLE_NAME, $CLASS_TABLE_KEY_NAMES_ARRAY, $CLASS_TABLE_KEY_TYPES_ARRAY); }
//QUERY the $courseListArray $COURSE_TABLE_NAME = table_name_form($PAGE_INFO_ARRAY, $COURSE_PAGE_SWITCH, $semesterListArray, $semesterTargetArray); $COURSE_TABLE_KEY_NAMES_ARRAY = table_key_names_array_get($COURSE_TABLE_NAME); $courseListArray = table_data_query($COURSE_TABLE_NAME, $COURSE_TABLE_KEY_NAMES_ARRAY); //Load $CLASS_TABLE_NAME $CLASS_TABLE_NAME = table_name_form($PAGE_INFO_ARRAY, $CLASS_PAGE_SWITCH, $semesterListArray, $semesterTargetArray); //Load import data if ($_POST['upload']) { $classImportInfoArray = uploaded_file_data_load(); $classInsertInfoArray = import_data_form($classImportInfoArray); //ADD the COURSE data $CLASS_TABLE_KEY_NAMES_ARRAY = array_picker($classImportInfoArray, 0); //Pick the table key names from import array. $CLASS_TABLE_KEY_NAMES_ARRAY = array_key_insert($CLASS_TABLE_KEY_NAMES_ARRAY, "ID", "ID"); //The imporrt data not include ID key, so add it. $CLASS_TABLE_KEY_TYPES_ARRAY = table_key_types_auto_fill($CLASS_TABLE_KEY_TYPES_ARRAY, $CLASS_TABLE_KEY_NAMES_ARRAY, 0, "varchar(15)", 1); $CLASS_TABLE_KEY_TYPES_ARRAY = array_key_insert($CLASS_TABLE_KEY_TYPES_ARRAY, "ID", "int NOT NULL AUTO_INCREMENT, PRIMARY KEY(ID)"); //COURSE_LEFT TABLE structure create $courseListArrayCount0 = count($courseListArray); for ($i = 0; $i < $courseListArrayCount0; $i++) { $CLASS_TABLE_KEY_NAMES_ARRAY = array_key_insert($CLASS_TABLE_KEY_NAMES_ARRAY, $courseListArray[$i]['COURSE_KEY_NAME'], $courseListArray[$i]['COURSE_KEY_NAME']); $CLASS_TABLE_KEY_TYPES_ARRAY = array_key_insert($CLASS_TABLE_KEY_TYPES_ARRAY, $courseListArray[$i]['COURSE_KEY_NAME'], "varchar(15)"); } database_table_create($CLASS_TABLE_NAME, $CLASS_TABLE_KEY_NAMES_ARRAY, $CLASS_TABLE_KEY_TYPES_ARRAY); $tableKeyNumbersCount = count($classInsertInfoArray); for ($i = 0; $i < $tableKeyNumbersCount; $i++) { //COURSE_LEFT auto fill method $courseListArrayCount0 = count($courseListArray); $classType = $classInsertInfoArray[$i]['CLASS_TYPE']; for ($j = 0; $j < $courseListArrayCount0; $j++) { $classInsertInfoArray[$i][$courseListArray[$j]['COURSE_KEY_NAME']] = $courseListArray[$j][$classType];
$courseListArray = table_data_query($COURSE_TABLE_NAME, $COURSE_TABLE_KEY_NAMES_ARRAY); $CLASS_TABLE_NAME = table_name_form($PAGE_INFO_ARRAY, $CLASS_PAGE_SWITCH, $semesterListArray, $semesterTargetArray); $CLASS_TABLE_KEY_NAMES_ARRAY = table_key_names_array_get($CLASS_TABLE_NAME); $classListArray = table_data_query($CLASS_TABLE_NAME, $CLASS_TABLE_KEY_NAMES_ARRAY); //Load course key name union array $courseKeyNameUnionArray = course_key_name_union_array_get($courseListArray); //CREATE the TOTAL_SCHEDULE_TABLE //TODO: add "if" phrase. $TOTAL_SCHEDULE_TABLE_NAME = table_name_form($PAGE_INFO_ARRAY, $TOTAL_SCHEDULE_PAGE_SWITCH, $semesterListArray, $semesterTargetArray); //Form the $TOTAL_SCHEDULE_TABLE_KEY_NAMES_ARRAY and $TOTAL_SCHEDULE_TABLE_KEY_TYPES_ARRAY $TOTAL_SCHEDULE_TABLE_KEY_NAMES_ARRAY = $TABLE_KEY_NAMES_ARRAY[$TOTAL_SCHEDULE_PAGE_SWITCH]; $TOTAL_SCHEDULE_TABLE_KEY_TYPES_ARRAY = $TABLE_KEY_TYPES_ARRAY[$TOTAL_SCHEDULE_PAGE_SWITCH]; $courseListArrayCount0 = count($courseListArray); for ($i = 0; $i < $courseListArrayCount0; $i++) { $TOTAL_SCHEDULE_TABLE_KEY_NAMES_ARRAY = table_key_names_auto_fill($TOTAL_SCHEDULE_TABLE_KEY_NAMES_ARRAY, $courseListArray[$i]['COURSE_KEY_NAME'], $COURSE_IN_A_DAY, 1); $TOTAL_SCHEDULE_TABLE_KEY_TYPES_ARRAY = table_key_types_auto_fill($TOTAL_SCHEDULE_TABLE_KEY_TYPES_ARRAY, $courseListArray[$i]['COURSE_KEY_NAME'], $COURSE_IN_A_DAY, "varchar(15)", 1); } database_table_create($TOTAL_SCHEDULE_TABLE_NAME, $TOTAL_SCHEDULE_TABLE_KEY_NAMES_ARRAY, $TOTAL_SCHEDULE_TABLE_KEY_TYPES_ARRAY); //// Arrange data preload //Load semester week $SEMESTER_WEEK_SET = $_POST[$TOTAL_SCHEDULE_TABLE_KEY_NAMES_ARRAY['SEMESTER_WEEK']] - 1; //Load semester week //QUERY the $totalScheduleArray $totalScheduleArray = table_data_query($TOTAL_SCHEDULE_TABLE_NAME, $TOTAL_SCHEDULE_TABLE_KEY_NAMES_ARRAY, "SEMESTER_WEEK = {$SEMESTER_WEEK_SET}"); //Reschedule determinative syntax if ($_POST['RESCHEDULE']) { //Load $appointedClassArray which has been appointed the week of semester // //Example: //$appointedClassArray[0]['CLASS_NAME'] = "机设09-1"; //$appointedClassArray[0]['CLASS_TYPE'] = "A";