-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathimport_csv.php
83 lines (71 loc) · 2.73 KB
/
import_csv.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<?php
// Include database connection
include 'db_connection.php';
// Function to import data from CSV file to database
function importCSVToDatabase($inputFilename, $conn, $table_name) {
if (($handle = fopen($inputFilename, "r")) !== FALSE) {
// Skip the header row
fgetcsv($handle);
$length = 1000;
$delimiter = ",";
while (($data = fgetcsv($handle, $length, $delimiter)) !== FALSE) {
// Extract data from CSV row
$content = $data[0]; // Adjusted index for content
$hint = $data[1]; // Adjusted index for hint
$status = $data[2]; // Adjusted index for status
// Prepare and execute INSERT query
$query = $conn->prepare("INSERT INTO $table_name (content, hint, status) VALUES (?,?,?)");
if ($query === false) {
error_log('Prepare failed: (' . $conn->errno . ') ' . $conn->error);
return false;
}
$query->bind_param('sss', $content, $hint, $status);
if (!$query->execute()) {
error_log('Execute failed: (' . $query->errno . ') ' . $query->error);
return false;
}
}
fclose($handle);
return true;
} else {
error_log('Failed to open file: ' . $inputFilename);
return false;
}
}
// Check if form is submitted and file is uploaded
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_FILES["csv_file"])) {
// Ensure access_code is provided
if (isset($_GET['access_code']) && !empty($_GET['access_code'])) {
$access_code = $_GET['access_code'];
$table_name = mysqli_real_escape_string($conn, $access_code);
// File handling
$inputFilename = $_FILES["csv_file"]["tmp_name"];
// Check if table exists
$check_table_query = "SHOW TABLES LIKE '$table_name'";
$result = $conn->query($check_table_query);
if ($result->num_rows != 1) {
$importError = '<div class="info">Table does not exist.</div>';
} else {
// Import data from CSV to database
if (importCSVToDatabase($inputFilename, $conn, $table_name)) {
header("Location: list.php?access_code=$access_code");
exit;
} else {
$importError = '<div class="info">خطایی حین درون ریزی داده ها رخ داد.</div>';
}
}
} else {
$importError = '<div class="info">کاربر شناسایی نشد.</div>';
}
}
// Header
$page_title = "درون ریزی"; include 'header.php';
// Display error message if it exists
if (!empty($importError)) {
echo $importError;
}
// Footer
echo '</div>';
include 'footer.php';
$conn->close();
?>