php - MySQL Query to CSV Formatting -
php - MySQL Query to CSV Formatting -
i have database 2 tables: core_members , core_fields_content.
core_members has columns: member_id, name, email core_pfields_content has columns: member_id, field_1, field_2, etc.
i'd output results of query selects names , emails of members, according custom field value provided in query , export csv file.
i want output appear in columns, when opened in excel, code below gives me next output in 1 cell: name;email;test name;testemail@test.com;
how can alter code output columns, column name heading?
<?php $csv_filename = 'forumuserlist_'.date('y-m-d').'.csv'; // database variables $hostname = "localhost"; $user = ""; $password = ""; $database = ""; // database connecten voor alle services mysql_connect($hostname, $user, $password) or die('could not connect: ' . mysql_error()); mysql_select_db($database) or die ('could not select database ' . mysql_error()); $csv_export = ''; $query = mysql_query("select m.name, m.email core_members m, core_pfields_content p m.member_id=p.member_id , p.field_4='lpc'"); $field = mysql_num_fields($query); // create line field names for($i = 0; $i < $field; $i++) { $csv_export.= mysql_field_name($query,$i).';'; } $csv_export.= ''; while($row = mysql_fetch_array($query)) { // create line field values for($i = 0; $i < $field; $i++) { $csv_export.= $row[mysql_field_name($query,$i)].';'; } $csv_export.= ''; } // export info , prompt csv file download header("content-type: text/x-csv"); header("content-disposition: attachment; filename=".$csv_filename.""); echo($csv_export); ?>
change separator ; , (comma separated values => csv) , enclose columnnames , values between double quotes
php mysql database csv
Comments
Post a Comment