Home  >  Article  >  Backend Development  >  How to extract and display data from CSV files using PHP

How to extract and display data from CSV files using PHP

王林
王林forward
2023-09-08 22:01:02960browse

How to extract and display data from CSV files using PHP

In this article, we will learn how to display data from a CSV file using PHP’s fgetcsv(), str_getcsv, and SplFileObject functions.

CSV file is a simple file format used to store data with comma-separated values, and each row in it represents a record in the tabular data. To read a CSV file using PHP, we will use the fgetcsv() function which reads a line from a CSV file and returns an array of values ​​representing the CSV data present in that line.

Let us understand this problem through the following example -

The Chinese translation of

Example 1

is:

Example 1

In this example, we will use the fgetcsv() function to read a data CSV file and display the values ​​in tabular form using the HTML table tag.

CSV file used in this example−

Data.csv

Name, Age, City
John, 30, New York
Mary, 25, Los Angeles
Tom, 40, Chicago

File name: index.php

<html lang="en">
<head>
   <title>How to Display Data from CSV file using PHP?</title>
</head>
<body>
  <h3>How to Display Data from CSV file using PHP?</h3>
  <?php
    $csvFile = fopen('Data.csv', 'r');

    echo '<table>';
    while (($data = fgetcsv($csvFile, 1000, ",")) !== FALSE) {
      echo '<tr>';
      foreach ($data as $value) {
        echo '<td>' . htmlspecialchars($value) . '</td>';
      }
      echo '</tr>';
    }
    echo '</table>';

    fclose($csvFile);
	?>
</body>
</html>
The Chinese translation of

Example 2

is:

Example 2

In this example, we will read a student CSV file containing the student's name, age, and gender and display their data in tabular form using 3 different methods (using the str_getcsv, fgetcsv, and SplFileObject methods).

The Chinese translation of

Students.csv

is:

Students.csv

Name,Age,Gender
John Doe,25,Male
Jane Smith,30,Female
Bob Johnson,40,Male
Sara Lee,22,Female

File name: index.php

<html lang="en">
<head>
   <title>How to Display Data from CSV file using PHP?</title>
</head>
<body>
  <h3>How to Display Data from CSV file using PHP?</h3>
  
  <!-- Method 1: str_getcsv -->
  <?php
    $csvData = file_get_contents('students.csv');
    $rows = str_getcsv($csvData, "</p><p>"); // Split CSV data into rows
    
    echo '<h4>Method 1: str_getcsv</h4>';
    echo '<table>';
    echo '<thead><tr><th>Name</th><th>Age</th><th>Gender</th></tr></thead>';
    echo '<tbody>';
    
    foreach ($rows as $row) {
      $values = str_getcsv($row, ","); // Split row into values
      echo '<tr>';
      foreach ($values as $value) {
        echo '<td>' . htmlspecialchars($value) . '</td>';
      }
      echo '</tr>';
    }
    
    echo '</tbody></table>';
  ?>
  
  <!-- Method 2: Combine fgetcsv() and HTML -->
  <?php
    echo '<h4>Method 2: Combine fgetcsv() and HTML</h4>';
    $csvFile = fopen('students.csv', 'r');
    echo '<table>';
    echo '<thead><tr><th>Name</th><th>Age</th><th>Gender</th></tr></thead>';
    echo '<tbody>';
    while (($data = fgetcsv($csvFile, 1000, ",")) !== FALSE) {
      echo '<tr>';
      foreach ($data as $value) {
        echo '<td>' . htmlspecialchars($value) . '</td>';
      }
      echo '</tr>';
    }
    echo '</tbody></table>';
    fclose($csvFile);
  ?>
  
  <!-- Method 3: using SplFileObject -->
  <?php
    echo '<h4>Method 3: using SplFileObject</h4>';
    $csvFile = new SplFileObject('students.csv', 'r');
    $csvFile->setFlags(SplFileObject::READ_CSV);
    
    echo '<table>';
    echo '<thead><tr><th>Name</th><th>Age</th><th>Gender</th></tr></thead>';
    echo '<tbody>';
    
    foreach ($csvFile as $row) {
      echo '<tr>';
      foreach ($row as $value) {
        echo '<td>' . htmlspecialchars($value) . '</td>';
      }
      echo '</tr>';
    }
    
    echo '</tbody></table>';
  ?>

Conclusion

In summary, displaying data from a CSV file using PHP is a simple process, you can use the fgetcsv() function. With the help of HTML tags, we can easily display data in tabular form. By following the examples provided in this article, we learned to read and display data from CSV files in PHP, which can be useful in various applications.

The above is the detailed content of How to extract and display data from CSV files using PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete