How to export mysql data to csv file using specified encoding_PHP tutorial

WBOY
Release: 2016-07-13 09:58:28
Original
813 people have browsed it

How to export mysql data to a csv file in php using the specified encoding

This article describes the method of exporting mysql data to a csv file in php using the specified encoding. Share it with everyone for your reference. The specific implementation method is as follows:

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

/*

* PHP code to export MySQL data to CSV

*

* Sends the result of a MySQL query as a CSV file for download

* Easy to convert to UTF-8.

*/

/*

* establish database connection

*/

$conn = mysql_connect('localhost', 'login', 'pass') or die(mysql_error());

mysql_select_db('database_name', $conn) or die(mysql_error($conn));

mysql_query("SET NAMES CP1252");

/*

* execute sql query

*/

$query = sprintf('SELECT field1,field2 FROM table_name');

$result = mysql_query($query, $conn) or die(mysql_error($conn));

/*

* send response headers to the browser

* following headers instruct the browser to treat the data as a csv file called export.csv

*/

header('Content-Type: text/csv; charset=cp1252');

header('Content-Disposition: attachment;filename=output.csv');

/*

* output header row (if atleast one row exists)

*/

$row = mysql_fetch_assoc($result);

if ($row) {

echocsv(array_keys($row));

}

/*

* output data rows (if atleast one row exists)

*/

while ($row) {

echocsv($row);

$row = mysql_fetch_assoc($result);

}

/*

* echo the input array as csv data maintaining consistency with most CSV implementations

* - uses double-quotes as enclosure when necessary

* - uses double double-quotes to escape double-quotes

* - uses CRLF as a line separator

*/

function echocsv($fields)

{

$separator = '';

foreach ($fields as $field) {

if (preg_match('/\r|\n|,|"/', $field)) {

$field = '"' . str_replace('"', '""', $field) . '"';

}

echo $separator . $field;

$separator = ',';

}

echo "rn";

}

?>

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
<🎜>/*<🎜> <🎜>* PHP code to export MySQL data to CSV<🎜> <🎜>*<🎜> <🎜>* Sends the result of a MySQL query as a CSV file for download<🎜> <🎜>* Easy to convert to UTF-8.<🎜> <🎜>*/<🎜> <🎜> <🎜> <🎜>/*<🎜> <🎜>* establish database connection<🎜> <🎜>*/<🎜> <🎜> <🎜> <🎜>$conn = mysql_connect('localhost', 'login', 'pass') or die(mysql_error());<🎜> <🎜>mysql_select_db('database_name', $conn) or die(mysql_error($conn));<🎜> <🎜>mysql_query("SET NAMES CP1252");<🎜> <🎜>/*<🎜> <🎜>* execute sql query<🎜> <🎜>*/<🎜> <🎜>$query = sprintf('SELECT field1,field2 FROM table_name');<🎜> <🎜>$result = mysql_query($query, $conn) or die(mysql_error($conn));<🎜> <🎜>/*<🎜> <🎜>* send response headers to the browser<🎜> <🎜>* following headers instruct the browser to treat the data as a csv file called export.csv<🎜> <🎜>*/<🎜> <🎜>header('Content-Type: text/csv; charset=cp1252');<🎜> <🎜>header('Content-Disposition: attachment;filename=output.csv');<🎜> <🎜>/*<🎜> <🎜>* output header row (if atleast one row exists)<🎜> <🎜>*/<🎜> <🎜> <🎜> <🎜>$row = mysql_fetch_assoc($result);<🎜> <🎜>if ($row) {<🎜> <🎜>echocsv(array_keys($row));<🎜> <🎜>}<🎜> <🎜> <🎜> <🎜>/*<🎜> <🎜>* output data rows (if atleast one row exists)<🎜> <🎜>*/<🎜> <🎜>while ($row) {<🎜> <🎜>echocsv($row);<🎜> <🎜>$row = mysql_fetch_assoc($result);<🎜> <🎜>}<🎜> <🎜> <🎜> <🎜>/*<🎜> <🎜>* echo the input array as csv data maintaining consistency with most CSV implementations<🎜> <🎜>* - uses double-quotes as enclosure when necessary<🎜> <🎜>* - uses double double-quotes to escape double-quotes<🎜> <🎜>* - uses CRLF as a line separator<🎜> <🎜>*/<🎜> <🎜> <🎜> <🎜>function echocsv($fields)<🎜> <🎜>{<🎜> <🎜>$separator = '';<🎜> <🎜>foreach ($fields as $field) {<🎜> <🎜>if (preg_match('/\r|\n|,|"/', $field)) {<🎜> <🎜>$field = '"' . str_replace('"', '""', $field) . '"';<🎜> <🎜>}<🎜> <🎜>echo $separator . $field;<🎜> <🎜>$separator = ',';<🎜> <🎜>}<🎜> <🎜>echo "rn";<🎜> <🎜>}<🎜> <🎜>?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/977164.htmlTechArticlephp uses the specified encoding to export mysql data to a csv file. This article describes the example of php using the specified encoding to export mysql data to csv file method. Share it with everyone for your reference. Specifically...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!