Cách xuất cơ sở dữ liệu trong PHP

PHP được sử dụng rộng rãi để xây dựng nhiều loại sản phẩm khác nhau, từ ứng dụng web đến ứng dụng cấp doanh nghiệp. Chìa khóa để mã PHP hiệu quả là tuân theo quy trình công việc phù hợp và tự động hóa các quy trình. Kết quả là mã chất lượng cao và không có lỗi

Trong hầu hết các ứng dụng PHP, dữ liệu được lưu trữ, truy cập và trao đổi giữa các thành phần khác nhau của ứng dụng. Để đảm bảo rằng việc trao đổi và truy cập dữ liệu này diễn ra suôn sẻ và không có bất kỳ sự cố nào, nhóm phát triển phải đảm bảo rằng cơ sở dữ liệu và kết xuất dữ liệu ở định dạng phù hợp

Cách xuất cơ sở dữ liệu trong PHP

Nhập và xuất dữ liệu đến và từ cơ sở dữ liệu là một quy trình đủ phổ biến trong quá trình phát triển PHP. Một hoạt động quan trọng khác là sao lưu và truyền cơ sở dữ liệu

Trong bài viết này, tôi sẽ giải thích cách lưu bảng từ tệp CSV sang MySQL và ngược lại. Bạn cần đăng ký tại Cloudways để khởi chạy máy chủ và ứng dụng ngăn xếp PHP. Trước khi đăng ký, hãy xem xét tất cả các tùy chọn giá từ các nhà cung cấp dịch vụ lưu trữ đẳng cấp thế giới như AWS, DigitalOcean, Linode, Vultr và GCP để bạn có thể tìm thấy tùy chọn hoàn toàn phù hợp với nhu cầu của mình

Lưu trữ PHP. PHP7 và PHP5 tốt nhất. 6 Lưu trữ web

Tạo cơ sở dữ liệu trong MySQL

Bước đầu tiên trong hướng dẫn này là tạo cơ sở dữ liệu MySQL. Vì Cloudways cung cấp trình quản lý mysql tùy chỉnh trong nền tảng chứa cơ sở dữ liệu cho ứng dụng. bạn có thể tạo bảng bằng cách chạy truy vấn SQL. Tạo bảng `employeeinfo` trong cơ sở dữ liệu bằng truy vấn SQL sau

CREATE TABLE employeeinfo(
emp_id VARCHAR(50) UNSIGNED PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date VARCHAR(50)
)

Cách xuất cơ sở dữ liệu trong PHP

Thao tác này sẽ tạo một bảng mới `employeeinfo` trong cơ sở dữ liệu. Tôi sẽ sử dụng bảng này để chèn dữ liệu từ tệp CSV

Ngừng lãng phí thời gian trên máy chủ

Cloudways xử lý việc quản lý máy chủ cho bạn để bạn có thể tập trung vào việc tạo các ứng dụng tuyệt vời và giữ cho khách hàng của mình hài lòng

Tạo kết nối MySql trong PHP

Để nhập và xuất cơ sở dữ liệu trong MySql sẽ tạo một tệp riêng `config. php`. Thêm mã sau và thay thế thông tin đăng nhập cơ sở dữ liệu bằng mã của bạn. Bạn có thể tìm thông tin đăng nhập db của mình trong chi tiết Truy cập ứng dụng

Cách xuất cơ sở dữ liệu trong PHP

getMessage();
    }
    return $conn;
}
?>

Có liên quan. Cách kết nối cơ sở dữ liệu MySQL với các trang web PHP

Nhập CSV vào MySQL bằng PHP

Sau khi cơ sở dữ liệu đã được tạo, tiếp theo tôi cần một tệp HTML  có thể tải tệp CSV lên. Đối với tệp HTML này, tôi sẽ sử dụng Trình tải lên tệp HTML ở dạng bootstrap đơn giản

Tạo một tệp và đặt tên là `index. php`. Đây là một hình thức đơn giản để tải lên tệp CSV. Tệp này cũng sẽ hiển thị kết quả trong một bảng đơn giản trên cùng một trang. Khi người dùng gửi biểu mẫu, tất cả các bản ghi sẽ được lưu trong cơ sở dữ liệu

Đầu tiên, tôi sẽ thêm Bootstrap CDN vào chỉ mục. php



Tiếp theo, trong thẻ `body`, hãy thêm mã HTML sau cho biểu mẫu Bootstrap




    
    
    




    

Form Name

Select File

Import data

Import

Cách xuất cơ sở dữ liệu trong PHP

Bạn có thể nhận thấy rằng tôi đã đặt một hành động thành `functions. tập tin php`. Trong bước tiếp theo, tôi sẽ tạo tệp này và thêm mã vào nó. Tôi cũng đã bao gồm một phương thức `get_all_records()` ở gần cuối tệp. Phương thức này lấy tất cả các bản ghi từ cơ sở dữ liệu và hiển thị các bản ghi trong bảng trên trang chỉ mục

Tiếp theo, tôi sẽ tạo `hàm. php` và thêm đoạn mã sau vào đó

 0)
		 {
		  	$file = fopen($filename, "r");
	        while (($getData = fgetcsv($file, 10000, ",")) !== FALSE)
	         {


	           $sql = "INSERT into employeeinfo (emp_id,firstname,lastname,email,reg_date) 
                   values ('".$getData[0]."','".$getData[1]."','".$getData[2]."','".$getData[3]."','".$getData[4]."')";
                   $result = mysqli_query($con, $sql);
				if(!isset($result))
				{
					echo "";		
				}
				else {
					  echo "";
				}
	         }
			
	         fclose($file);	
		 }
	}	 


 ?>

Khi nhấp vào nút tải lên, tên tệp tạm thời sẽ được lưu trong bộ nhớ và sử dụng vòng lặp `while`, dữ liệu được lưu trong biến $getData. Sau khi quá trình hoàn tất, dữ liệu được sắp xếp theo cột một cách khôn ngoan và cuối cùng được chèn vào bảng `employeeinfo`

Lưu ý rằng `fgetcsv()` phân tích cú pháp các dòng từ tệp đang mở, kiểm tra các trường CSV và `fopen()` sẽ mở một tệp hoặc một URL. Có thể kiểm tra mã này bằng cách nhập tệp CSV có dữ liệu kiểm tra

Hiển thị các bản ghi đã lưu

Khi tệp CSV đã được nhập, tôi sẽ hiển thị dữ liệu thông qua một chức năng đơn giản, `get_all_records()`, được khởi tạo trong `index. php`. Sao chép hàm này vào `function. php`

function get_all_records(){
    $con = getdb();
    $Sql = "SELECT * FROM employeeinfo";
    $result = mysqli_query($con, $Sql);  


    if (mysqli_num_rows($result) > 0) {
     echo "

"; while($row = mysqli_fetch_assoc($result)) { echo ""; } echo " EMP ID First Name Last Name Email Registration Date " . $row['emp_id']." " . $row['firstname']." " . $row['lastname']." " . $row['email']." " . $row['reg_date']."

"; } else { echo "you have no records"; } }

Trong phương pháp thực sự đơn giản này, tôi chỉ cần chọn tất cả các bản ghi và hiển thị các bản ghi này trên trang chỉ mục thông qua phương thức. Bất cứ khi nào người dùng tải lên tệp CSV, các bản ghi sẽ được lưu trong bảng và sau đó được hiển thị trên trang chỉ mục

Xuất MySQL sang CSV bằng PHP

Xuất dữ liệu từ cơ sở dữ liệu MySQL sang tệp CSV cũng rất dễ dàng. Để chứng minh điều này, tôi sẽ sử dụng chỉ số. php mà tôi đã tạo trước đó

Thêm đoạn mã sau vào tập tin

 

Sau khi thêm phần đánh dấu HTML này, nút Xuất sẽ xuất hiện bên dưới bảng. Bây giờ thêm điều kiện sau vào hàm. php

 if(isset($_POST["Export"])){
		 
      header('Content-Type: text/csv; charset=utf-8');  
      header('Content-Disposition: attachment; filename=data.csv');  
      $output = fopen("php://output", "w");  
      fputcsv($output, array('ID', 'First Name', 'Last Name', 'Email', 'Joining Date'));  
      $query = "SELECT * from employeeinfo ORDER BY emp_id DESC";  
      $result = mysqli_query($con, $query);  
      while($row = mysqli_fetch_assoc($result))  
      {  
           fputcsv($output, $row);  
      }  
      fclose($output);  
 }  

Khi nhấp vào nút `Xuất`, các tiêu đề `Loại nội dung. văn bản/csv` có tệp đính kèm `dữ liệu. csv` được gửi

Vì `php. //output` là luồng chỉ ghi cho phép ghi quyền truy cập vào cơ chế bộ đệm đầu ra, tôi đã chọn tất cả dữ liệu từ bảng ở dòng tiếp theo và chuyển nó sang phương thức `fputcsv()` . Phương thức này định dạng một dòng (được truyền dưới dạng một mảng trường) dưới dạng CSV và ghi nó (được kết thúc bởi một dòng mới) vào tệp đã chỉ định. Cuối cùng, tệp có tất cả dữ liệu mong muốn được tải xuống

Cuối cùng, sau khi tích hợp tất cả mã, bạn sẽ thấy hình dạng ứng dụng cuối cùng sau đây

Cách xuất cơ sở dữ liệu trong PHP

Bạn cũng có thể thích. CRUD đơn giản trong PHP và MySQL

Phần kết luận

Trong bài viết này, tôi đã thảo luận về cách bạn có thể xuất dữ liệu từ và sang tệp CSV bằng PHP và MySQL. Đây là một ví dụ đơn giản, bạn có thể Thêm logic và xác thực phức tạp hơn theo yêu cầu của mình. Bạn cũng có thể tạo các trường hợp thử nghiệm để xác minh mã và Tích hợp với GitHub bằng Công cụ tích hợp liên tục PHP. Nếu bạn muốn thêm vào cuộc thảo luận hoặc muốn đặt câu hỏi, hãy để lại nhận xét bên dưới

Làm cách nào để tải xuống cơ sở dữ liệu đầy đủ trong PHP?

php $mysqlUserName = 'tên người dùng cơ sở dữ liệu';

Làm cách nào để xuất bảng trong PHP?

PHP_EOL; . Thiết lập kết nối tới cơ sở dữ liệu // BEGIN. Định nghĩa một số biến // HƯỚNG DẪN. Chỉ định tên bảng của bạn và tên của tệp xuất của bạn. // Tên bảng dữ liệu chứa dữ liệu bạn muốn xuất $TableName = "Constant_States_Codes"; . ...

Làm cách nào để sao lưu cơ sở dữ liệu bằng PHP?

Để sao lưu cơ sở dữ liệu MySQL của bạn bằng phpMyAdmin nhấp vào liên kết "xuất" trên trang chính của phpMyAdmin. Chọn cơ sở dữ liệu bạn muốn sao lưu, kiểm tra các tùy chọn SQL thích hợp và nhập tên cho tệp sao lưu.