will35010 Posted January 19, 2011 Share Posted January 19, 2011 I have this code that is supposed to export the results of this query into a CSV. When I run the code in Firefox, it works perfectly. The only browser that it doesn't work in is IE. It opens an HTML page with the results on the page instead of prompting to download the CSV. Can anyone help me out? <?php //code to export report to excel if(isset($_GET['date'])){ include('../inc/db.php'); if (!$link = mysql_connect($dbhost, $dbuser, $dbpass)) { echo 'Could not connect to mysql'; exit; } if (!mysql_select_db($dbname, $link)) { echo 'Could not select database'; exit; } $date = $_GET['date']; $select = "SELECT patients.lname, patients.fname, patients.dob, patients.sex, visit_data.cc, FROM_UNIXTIME(visit_data.reg_time), FROM_UNIXTIME(visit_data.discharged_time), visit_data.disposition, visit_data.leftby FROM patients, visit_data WHERE discharge_date = '$date' AND patients.patientid = visit_data.patientid"; $export = mysql_query ( $select ) or die ( "Sql error : " . mysql_error( ) ); $fields = mysql_num_fields ( $export ); for ( $i = 0; $i < $fields; $i++ ) { $header .= mysql_field_name( $export , $i ) . "\t"; } while( $row = mysql_fetch_row( $export ) ) { $line = ''; foreach( $row as $value ) { if ( ( !isset( $value ) ) || ( $value == "" ) ) { $value = "\t"; } else { $value = str_replace( '"' , '""' , $value ); $value = '"' . $value . '"' . "\t"; } $line .= $value; } $data .= trim( $line ) . "\n"; } $data = str_replace( "\r" , "" , $data ); if ( $data == "" ) { $data = "\n(0) Records Found!\n"; } header("Content-type: application/octet-stream"); header("Content-Disposition: attachment; filename=DailyLog.xls"); header("Pragma: no-cache"); header("Expires: 0"); print "$header\n$data"; } ?> Link to comment https://forums.phpfreaks.com/topic/224968-export-query-to-csv/ Share on other sites More sharing options...
will35010 Posted January 19, 2011 Author Share Posted January 19, 2011 It does work in IE8, but not IE7 or IE6. Link to comment https://forums.phpfreaks.com/topic/224968-export-query-to-csv/#findComment-1161946 Share on other sites More sharing options...
will35010 Posted January 19, 2011 Author Share Posted January 19, 2011 Fixed by commenting out this header. Seems to be a bug in IE prior to version 8. There is a MS fix for it, but I don't want my clients to have to do that. //header("Pragma: no-cache"); Link to comment https://forums.phpfreaks.com/topic/224968-export-query-to-csv/#findComment-1161978 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.