0% found this document useful (0 votes)
28 views5 pages

CSV File

The document describes exporting data from a MySQL database table to a CSV file using PHP. It includes: 1. Creating a database table with members data. 2. Configuring the database connection in PHP. 3. Fetching data from the table and displaying it in a table on an index.php page. 4. Clicking an export button calls an exportData.php script to retrieve the data, write it to a CSV file, and force a download of the file.

Uploaded by

kavya Murugesan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views5 pages

CSV File

The document describes exporting data from a MySQL database table to a CSV file using PHP. It includes: 1. Creating a database table with members data. 2. Configuring the database connection in PHP. 3. Fetching data from the table and displaying it in a table on an index.php page. 4. Clicking an export button calls an exportData.php script to retrieve the data, write it to a CSV file, and force a download of the file.

Uploaded by

kavya Murugesan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

EX NO:14 EXPORT DATA TO CSV FILE USING

DATE:09.11.2023 PHP AND MYSQL

AIM:
To export the data in the database to CSV files using PHP and MySQL.
CODE:
EXPORT DATA TO CSV FILE USING PHP AND MYSQL
1. Create Database Table
CREATE TABLE `members` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`first_name` varchar(25) COLLATE utf8_unicode_ci NOT NULL,
`last_name` varchar(25) COLLATE utf8_unicode_ci NOT NULL,
`email` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`gender` enum('Male','Female') COLLATE utf8_unicode_ci NOT
NULL,
`country` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
`created` datetime NOT NULL,
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '1=Active | 0=Inactive',
PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8
COLLATE=utf8_unicode_ci;
2. Database Configuration (dbConfig.php)
<?php
// Database configuration
$dbHost = "localhost";
$dbUsername = "root";
$dbPassword = "root";
$dbName = "codexworld";
// Create database connection
$db = new mysqli($dbHost, $dbUsername, $dbPassword, $dbName);
// Check connection
if ($db->connect_error) {
die("Connection failed: " . $db->connect_error);
}
3.Data List from MySQL Database (index.php)
Initially, all the member’s data is fetched from the database and listed in a tabular format.
An EXPORT button is placed at the top of the data list.
By clicking the Export button, the data is exported from the database and allow to download
on a local drive as a CSV file.
index.php
<!-- Export link -->
<div class="col-md-12 head">
<div class="float-right">
<a href="exportData.php" class="btn btn-success"><i
class="dwn"></i> Export</a>
</div>
</div>
<!-- Data list table -->
<table class="table table-striped table-bordered">
<thead class="thead-dark">
<tr>
<th>#ID</th>
<th>Name</th>
<th>Email</th>
<th>Gender</th>
<th>Country</th>
<th>Created</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<?php
// Fetch records from database
$result = $db->query("SELECT * FROM members ORDER BY id ASC");
if($result->num_rows > 0){
while($row = $result->fetch_assoc()){
?>
<tr>
<td><?php echo $row['id']; ?></td>
<td><?php echo $row['first_name'].'
'.$row['last_name']; ?></td>
<td><?php echo $row['email']; ?></td>
<td><?php echo $row['gender']; ?></td>
<td><?php echo $row['country']; ?></td>
<td><?php echo $row['created']; ?></td>
<td><?php echo ($row['status'] ==
1)?'Active':'Inactive'; ?></td>
</tr>
<?php } }else{ ?>
<tr><td colspan="7">No member(s) found...</td></tr>
<?php } ?>
</tbody>
</table>
4. Export Data to CSV File using PHP (exportData.php)
The exportData.php file handles the data export and CSV file download process
using PHP and MySQL.
Retrieve data from the MySQL database.
Create a file pointer using fopen() function.
Specify the header columns and put data into the CSV file.
Output each row of the data, format line as CSV, and write to file pointer.
Set Content-Type and Content-Disposition to force the browser to download the file
rather than display it.
exportData.php
<?php
// Load the database configuration file
include_once 'dbConfig.php';
// Fetch records from database
$query = $db->query("SELECT * FROM members ORDER BY id ASC");
if($query->num_rows > 0){
$delimiter = ",";
$filename = "members-data_" . date('Y-m-d') . ".csv";
// Create a file pointer
$f = fopen('php://memory', 'w');
// Set column headers
$fields = array('ID', 'FIRST NAME', 'LAST NAME',
'EMAIL', 'GENDER',
'COUNTRY', 'CREATED', 'STATUS');
fputcsv($f, $fields, $delimiter);
// Output each row of the data, format line as csv and write to file pointer
while($row = $query->fetch_assoc()){
$status = ($row['status'] == 1)?'Active':'Inactive';
$lineData = array($row['id'], $row['first_name'],
$row['last_name'], $row['email'],
$row['gender'], $row['country'], $row['created'], $status);
fputcsv($f, $lineData, $delimiter);
}
// Move back to beginning of file
fseek($f, 0);
// Set headers to download file rather than displayed
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="' . $filename .
'";');
//output all remaining data on a file pointer
fpassthru($f);
}
exit;
?>

Conduct of Experiment (30)

Record (20)

Viva (10)

Total (60)

RESULT:
Thus, the program to export data in the database to CSV file using PHP and MySQL
has been done successfully.

You might also like