Hướng dẫn php import csv to mysql - php nhập csv vào mysql

bởi Vincy. Sửa đổi lần cuối vào ngày 8 tháng 7 năm 2022.

Bạn đang tìm kiếm mã di chuyển dữ liệu từ cơ sở dữ liệu CSV sang MySQL? Bạn đi đây!

Có nhiều cách để thực hiện nhập CSV. Chúng tôi đã thấy một hoặc hai ví dụ về nó trước đây. Thậm chí, bài viết này đưa ra hai ví dụ về CSV cho nhập khẩu MySQL.

Về hai ví dụ:

  1. Một ví dụ nhanh để chỉ cần nhập dữ liệu từ tệp CSV hiện có.
  2. Một mã đặc trưng tương tác để chọn CSV thông qua nhập và xử lý nhập CSV.

Mã đơn giản này nhập CSV vào cơ sở dữ liệu MySQL bằng PHP. Tất cả những gì nó cần là một tệp CSV nguồn và cơ sở dữ liệu đích. Xem các điều kiện tiên quyết để thử nghiệm ví dụ này trong môi trường của bạn.

Ví dụ nhanh

CSV vào nhập khẩu php mysql


Prerequisites:

Các khối dưới đây chứa các điều kiện tiên quyết của việc chạy CSV đến ví dụ nhanh của MySQL.

Nó hiển thị dữ liệu nguồn theo định dạng CSV và cấu trúc cơ sở dữ liệu để có bảng & nbsp; tbl_users.

[1] Tệp CSV nguồn

1,kevin_tom,Kevin,Thomas
2,vincy,Vincy,Jone
3,tim_lee,Tim,Lee
4,jane,Jane,Ferro

[2] Nhắm mục tiêu cơ sở dữ liệu MySQL

CREATE TABLE `tbl_users` [
  `id` int[11] NOT NULL,
  `userName` varchar[255] NOT NULL,
  `firstName` varchar[255] NOT NULL,
  `lastName` varchar[255] NOT NULL,
  `create_at` timestamp NOT NULL DEFAULT current_timestamp[] ON UPDATE current_timestamp[]
];
ALTER TABLE `tbl_users`
  ADD PRIMARY KEY [`id`];

ALTER TABLE `tbl_users`
  MODIFY `id` int[11] NOT NULL AUTO_INCREMENT;

Các bước để thực hiện nhập CSV vào MySQL

  1. Tạo một cơ sở dữ liệu đích để lưu trữ các bản ghi CSV.
  2. Thiết kế hình thức nhập khẩu và xử lý xác nhận.
  3. Phát triển tập tin Php đọc điểm cuối để nhập CSV vào cơ sở dữ liệu MySQL.

Ví dụ 2: CSV đầy đủ và đặc trưng cho nhập khẩu MySQL

Hãy cho chúng tôi xem ví dụ phức tạp này bằng cách làm theo ba bước trên. Nó hiển thị mã được tạo để đạt được từng bước để thực hiện CSV để nhập MySQL.

Ví dụ này sử dụng cùng một cơ sở dữ liệu như mục tiêu của nó để nhập dữ liệu CSV.

Biểu mẫu HTML để chọn nguồn CSV

Biểu mẫu HTML này cho phép người dùng chọn tệp nguồn CSV. Nó chấp nhận các tệp CSV và Excel để đọc dữ liệu để nhập.

index.php [Mẫu nhập]


	
Coose your file. Download template
Import CSV and Save Data

Tập lệnh xác thực CSS và JQuery

Biểu mẫu trên gọi tập lệnh xác thực khi gửi. Tập lệnh xác thực nằm trong jQuery để kiểm tra xem đầu vào tệp không trống. Nó nằm trong phần đầu của cùng một trang index.php.

index.php [xác thực]





function validateFile[] {
    var csvInputFile = document.forms["frmCSVImport"]["file"].value;
    if [csvInputFile == ""] {
      error = "No source found to import. Please choose a CSV file. ";
      $["#response"].html[error].addClass["error"];;
      return false;
    }
    return true;
  }


Và các phong cách là,

style.css

body {
	font-family: Arial;
	width: 550px;
	font-size: 0.9em;
	margin: 60px auto;
}

.heading {
	text-align: center;
}

.form-container {
	border: #e0dfdf 1px solid;
	padding: 30px 30px 10px 30px;
	border-radius: 15px;
	margin: 10px auto;
	width: 350px;
	text-align: center;
}

.input-row {
	margin-top: 0px;
	margin-bottom: 20px;
}

.btn-submit {
	background: #efefef;
	border: #d3d3d3 1px solid;
	width: 100%;
	border-radius: 20px;
	cursor: pointer;
	padding: 12px;
}

.btn-submit:hover {
	background: #d9d8d8;
	border: #c3c1c1 1px solid;
}

.outer-container table {
	border-collapse: collapse;
	width: 100%;
}

.outer-container th {
	border-top: 2px solid #dddddd;
	background: #f9f9f9;
	padding: 8px;
	text-align: left;
	font-weight: normal;
}

.outer-container td {
	border-top: 1px solid #dddddd;
	padding: 8px;
	text-align: left;
}

.outer-container label {
	margin-bottom: 5px;
	display: inline-block;
}

#response {
	padding: 10px;
	border-radius: 15px;
}

.success {
	background: #c7efd9;
	border: #bbe2cd 1px solid;
}

.error {
	background: #fbcfcf;
	border: #f3c6c7 1px solid;
}

.file {
	border: 1px solid #cfcdcd;
	padding: 10px;
	border-radius: 20px;
	color: #171919;
	width: 100%;
	margin-bottom: 20px;
}

CSV để nhập MYSQL trong PHP

Khi gửi biểu mẫu, mã PHP kích hoạt CSV Read Handler. Hàm & nbsp; readUserRecords [] của lớp UserModel đang thực hiện phân tích CSV này.

index.php [kích hoạt CSV đọc trong PHP]


và lớp UserModel chứa các chức năng để thực hiện như sau.

  • Đọc dữ liệu CSV bằng PHP FGETCSV []
  • Xác minh CSV để bỏ qua các hàng trống.
  • Đọc tất cả dữ liệu đã nhập từ cơ sở dữ liệu MySQL.

Lớp mô hình này kết nối cơ sở dữ liệu trong hàm tạo của nó và đặt đối tượng kết nối.

UserModel.php


Liệt kê dữ liệu đã nhập từ cơ sở dữ liệu

Đây là để đóng CSV vào vòng lặp nhập khẩu của MySQL. Với bước này, người dùng trải nghiệm rằng nhập khẩu được hoàn thành thành công.

Nó hiển thị dữ liệu đã nhập trên màn hình. Thay vì hiển thị một thông báo tĩnh như ‘nhập thành công, điều này sẽ mang lại trải nghiệm người dùng tốt.

list.php


Imported records:

User Name First Name Last Name

Đầu ra: CSV vào nhập khẩu MySQL


Tải xuống

Trở lại đầu

Tải lên tệp CSV sản phẩm tại đây.

Tải lên tệp CSV sản phẩm tại đây.

Trong danh sách định dạng, chọn CSV.Thay đổi các tùy chọn cụ thể định dạng.Nếu tệp CSV được phân tách bởi một ký tự không phải là dấu phẩy hoặc nếu có các thông số kỹ thuật khác cho các tệp CSV, chúng ta có thể thay đổi nó trong phần này.Nhấp vào Đi để bắt đầu nhập tệp CSV và dữ liệu sẽ được nhập thành công vào MySQL.

PHP có thể đọc tệp CSV không?. fgetcsv[] – Reads CSV using the reference of the file resource. str_getcsv[] – Reads CSV data stored in a variable.

PHP có hai chức năng sẵn có để đọc tệp CSV.fgetcsv [] - Đọc CSV bằng cách sử dụng tham chiếu của tài nguyên tệp.STR_GETCSV [] - Đọc dữ liệu CSV được lưu trữ trong một biến.

Bạn có thể nhập tệp CSV vào MySQL Workbench không?. The following figures show an example of an import sequence of the sakila. actor table from a CSV file. The Encoding field should correspond with your CSV file.

Làm thế nào tải lên và phân tích tệp CSV trong PHP?

Để tải lên tệp CSV sử dụng thẻ HTML đầu vào dưới dạng loại tệp tệp giá trị ...
.
Tải lên tệp CSV sản phẩm tại đây.
.
.

Bài Viết Liên Quan

Chủ Đề