Mini Shell

Direktori : /var/www/vhosts/ccp.ac.th/backup_full/httpdocs/fertilizer/
Upload File :
Current File : /var/www/vhosts/ccp.ac.th/backup_full/httpdocs/fertilizer/setup.php

<?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