"$dbname", "UID" => "$username", "PWD" => "$password", "CharacterSet" => "UTF-8");
$conn = sqlsrv_connect($hostname, $connectionInfo);
if ($conn === false) {
die(print_r(sqlsrv_errors(), true));
}
$Category_List = [];
if (isset($_POST['file'])) {
$file = $_POST['file'];
$project_id = $_POST['projectId'];
$project_name = $_POST['projectName'];
$category_id = $_POST['categoryId'];
} else {
header("Location: ./upload.html#error");
}
$filename = "uploads/{$file}";
$importinfo = array();
$extension = pathinfo($file,PATHINFO_EXTENSION);
if ('csv' == $extension) {
$reader = new \PhpOffice\PhpSpreadsheet\Reader\Csv();
} else if ('xls' == $extension) {
$reader = new \PhpOffice\PhpSpreadsheet\Reader\Xls();
} else
$reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
$reader->setReadDataOnly(true);
$reader->setReadEmptyCells(false);
$spreadsheet = $reader->load($filename);
$sheetCount = $spreadsheet->getSheetCount();
$all = $spreadsheet->getSheetNames();
$sql = "DELETE FROM [Blueprint] WHERE [project_id] = ?";
$stmt = sqlsrv_query($conn, $sql, array($project_id));
$sql = "DELETE FROM [File_table] WHERE [project_id] = ?";
$stmt = sqlsrv_query($conn, $sql, array($project_id));
$sql = "IF NOT EXISTS (SELECT [project_id] FROM [Project_Table] WHERE [project_id] = '{$project_id}')
BEGIN
INSERT INTO [dbo].[Project_Table] ([project_id],[project_name],[category_id])
VALUES
(?,?,?)
END";
$stmt = sqlsrv_query($conn, $sql, array($project_id,$project_name,$category_id));
for ($s = 0; $s < $sheetCount; $s++) {
if ($type[$s] != 'cancel') {
if (str_contains($all[$s], "_")) {
$Category = explode("_", $all[$s])[1];
} else if (str_contains($all[$s], ".")) {
$Category = explode(".", $all[$s])[1];
} else if (str_contains($all[$s], "-")) {
$Category = explode("-", $all[$s])[1];
} else {
$Category = $all[$s];
}
$sql = "DECLARE @filetype_id INT;
IF NOT EXISTS (SELECT [type_id] FROM [File_Category] WHERE [type_name] = '{$Category}')
BEGIN
SET @filetype_id = (SELECT [filetype_id] FROM [21000X].[dbo].[File_Type_Table] WHERE [filetype_name] = '{$type[$s]}')
INSERT INTO [File_Category] ([type_name],[filetype_id]) VALUES ('{$Category}',@filetype_id);
END";
$fetchResult = sqlsrv_query($conn, $sql);
$sql = "SELECT [type_id] FROM [File_Category] WHERE [type_name] = '{$Category}';";
$fetchResult = sqlsrv_query($conn, $sql);
$type_id = 0;
while ($row = sqlsrv_fetch_array($fetchResult)) {
$type_id = $row[0];
}
array_push($Category_List, $type_id);
$sheet = $spreadsheet->getSheet($s);
$cellCollection = $sheet->getCellCollection();
$column = $cellCollection->getHighestRowAndColumn();
$data = array();
for ($i = 2; $i <= $column['row']; $i++) { //行
$row = array($project_id, $type_id);
for ($j = 'A'; $j <= $column['column']; $j++) { //列
$key = $j . $i;
$value = $sheet->getCell($key)->getValue();
array_push($row, $value);
}
if ($type[$s] == '[Blueprint]') {
$sql = "INSERT INTO [Blueprint]
([project_id]
,[type_id]
,[SN]
,[blueprint_id]
,[original_name]
,[keyword]
,[notes]
,[filename])
VALUES
(?,?,?,?,?,?,?,?)";
} else if ($type[$s] == '[File_Table]') {
$sql = "INSERT INTO [File_Table]
([project_id]
,[type_id]
,[SN]
,[original_name]
,[filename]
,[keyword])
VALUES
(?,?,?,?,?,?)";
array_push($row, 'NULL');
}
$stmt = sqlsrv_query($conn, $sql, $row);
echo "
";
}
echo "
";
echo "
";
}
}
$Category_List_s = implode(",", $Category_List);
$sql = "IF NOT EXISTS (SELECT [list_id] FROM [Category_List] WHERE [category_list] = '{$Category_List_s}')
BEGIN
INSERT INTO [Category_List] ([category_list])
VALUES ('{$Category_List_s}')
END";
$fetchResult = sqlsrv_query($conn, $sql);
sqlsrv_close($conn);
header("Location: ./upload.html");