Mini Shell
<?php
// ============================================
// Setup Script: สร้างตารางและนำเข้าข้อมูล
// ============================================
header('Content-Type: application/json; charset=utf-8');
include 'db/database.php';
// ===== 1. สร้างตาราง user_confirm =====
$create_table_sql = "CREATE TABLE IF NOT EXISTS `user_confirm` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`last_name` varchar(255) NOT NULL,
`position` varchar(255) NULL,
`agency` varchar(255) NULL,
PRIMARY KEY (`id`),
INDEX `idx_name` (`name`, `last_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;";
if (mysqli_query($link, $create_table_sql)) {
$result['table_created'] = 'สร้างตาราง user_confirm สำเร็จ';
} else {
$result['table_error'] = 'เกิดข้อผิดพลาด: ' . mysqli_error($link);
echo json_encode($result);
exit();
}
// ===== 2. ล้างข้อมูลเก่า (ถ้ามี) =====
$delete_sql = "DELETE FROM user_confirm";
mysqli_query($link, $delete_sql);
// ===== 3. นำเข้าข้อมูลจาก CSV =====
$csv_file = 'user_confirm.csv';
if (!file_exists($csv_file)) {
$result['csv_error'] = 'ไม่พบไฟล์ user_confirm.csv';
echo json_encode($result);
exit();
}
$file_handle = fopen($csv_file, 'r');
$header = true;
$import_count = 0;
$errors = array();
while (($row = fgetcsv($file_handle, 1000, ',')) !== FALSE) {
// ข้ามแถวหัวข้อ
if ($header) {
$header = false;
continue;
}
// เช็คจำนวน column ต้องอย่างน้อย 3 (ลำดับที่, ชื่อ, นามสกุล)
if (count($row) < 3) {
continue;
}
$name = mysqli_real_escape_string($link, trim($row[1]));
$last_name = mysqli_real_escape_string($link, trim($row[2]));
$position = isset($row[3]) ? mysqli_real_escape_string($link, trim($row[3])) : '';
$agency = isset($row[4]) ? mysqli_real_escape_string($link, trim($row[4])) : '';
if (empty($name) || empty($last_name)) {
continue;
}
$insert_sql = "INSERT INTO user_confirm (name, last_name, position, agency)
VALUES ('$name', '$last_name', '$position', '$agency')";
if (mysqli_query($link, $insert_sql)) {
$import_count++;
} else {
$errors[] = "ข้อผิดพลาดในการนำเข้าแถว: $name $last_name - " . mysqli_error($link);
}
}
fclose($file_handle);
$result['import_success'] = "นำเข้าข้อมูล $import_count รายการสำเร็จ";
if (!empty($errors)) {
$result['import_errors'] = $errors;
}
// ===== 4. นับจำนวนข้อมูล =====
$count_sql = "SELECT COUNT(*) AS total FROM user_confirm";
$count_result = mysqli_query($link, $count_sql);
$count_row = mysqli_fetch_assoc($count_result);
$result['total_records'] = $count_row['total'];
$result['status'] = 'success';
echo json_encode($result, JSON_UNESCAPED_UNICODE);
?>
Zerion Mini Shell 1.0