<?php
// import.php

require 'config.php';

if (empty($_FILES['json_files'])) {
    exit('No files uploaded.');
}

foreach ($_FILES['json_files']['tmp_name'] as $index => $tmpName) {

    $fileName = $_FILES['json_files']['name'][$index];
    $tableName = preg_replace('/[^a-zA-Z0-9_]/', '_', pathinfo($fileName, PATHINFO_FILENAME));

    $json = file_get_contents($tmpName);
    $data = json_decode($json, true);

    if (!is_array($data) || empty($data)) {
        echo "<p>❌ {$fileName}: Invalid or empty JSON</p>";
        continue;
    }

    if (!is_array($data[0])) {
        echo "<p>❌ {$fileName}: JSON must be an array of objects</p>";
        continue;
    }

    $columns = array_keys($data[0]);

    $colsSql = [];
    foreach ($columns as $col) {
        $colSafe = preg_replace('/[^a-zA-Z0-9_]/', '_', $col);
        $colsSql[] = "`$colSafe` TEXT";
    }

    $pdo->exec("CREATE TABLE IF NOT EXISTS `$tableName` (
        id INT AUTO_INCREMENT PRIMARY KEY,
        " . implode(',', $colsSql) . "
    )");

    $placeholders = implode(',', array_fill(0, count($columns), '?'));
    $colNames = '`' . implode('`,`', $columns) . '`';

    $stmt = $pdo->prepare("INSERT INTO `$tableName` ($colNames) VALUES ($placeholders)");

    foreach ($data as $row) {
        $stmt->execute(array_values($row));
    }

    echo "<p>✅ {$fileName}: Imported into table <strong>{$tableName}</strong></p>";
}