Mini Shell
<?php
// ============================================
// Script นำเข้าข้อมูล user_confirm
// ============================================
header('Content-Type: application/json; charset=utf-8');
include 'db/database.php';
$response = array();
try {
// ===== 1. ลบตารางเก่า (ถ้ามี) =====
$drop_sql = "DROP TABLE IF EXISTS `user_confirm`";
if (!mysqli_query($link, $drop_sql)) {
throw new Exception('Drop table error: ' . mysqli_error($link));
}
$response['drop_table'] = 'ลบตารางเก่าสำเร็จ';
// ===== 2. สร้างตารางใหม่ =====
$create_sql = "CREATE TABLE `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_sql)) {
throw new Exception('Create table error: ' . mysqli_error($link));
}
$response['create_table'] = 'สร้างตาราง user_confirm สำเร็จ';
// ===== 3. นำเข้าข้อมูลจาก CSV =====
$csv_file = 'user_confirm.csv';
if (!file_exists($csv_file)) {
throw new Exception('ไม่พบไฟล์ ' . $csv_file);
}
$file_handle = fopen($csv_file, 'r');
if (!$file_handle) {
throw new Exception('ไม่สามารถเปิดไฟล์ CSV');
}
$header = true;
$import_count = 0;
$errors = array();
$import_data = 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;
}
$import_data[] = "('$name', '$last_name', '$position', '$agency')";
$import_count++;
}
fclose($file_handle);
// ===== 4. บันทึกทั้งหมด =====
if (!empty($import_data)) {
$insert_sql = "INSERT INTO user_confirm (name, last_name, position, agency) VALUES " .
implode(',', $import_data);
if (!mysqli_query($link, $insert_sql)) {
throw new Exception('Insert data error: ' . mysqli_error($link));
}
}
$response['import_success'] = "นำเข้าข้อมูล $import_count รายการสำเร็จ";
// ===== 5. นับจำนวนข้อมูล =====
$count_sql = "SELECT COUNT(*) AS total FROM user_confirm";
$count_result = mysqli_query($link, $count_sql);
if (!$count_result) {
throw new Exception('Count error: ' . mysqli_error($link));
}
$count_row = mysqli_fetch_assoc($count_result);
$response['total_records'] = $count_row['total'];
$response['status'] = 'success';
$response['message'] = 'ตั้งค่าฐานข้อมูลสำเร็จ!';
} catch (Exception $e) {
$response['status'] = 'error';
$response['message'] = 'เกิดข้อผิดพลาด: ' . $e->getMessage();
}
echo json_encode($response, JSON_UNESCAPED_UNICODE);
?>
Zerion Mini Shell 1.0