Kod PHP untuk Menukar Pertanyaan MySQL kepada CSV
Dalam PHP, terdapat kaedah yang cekap untuk menukar hasil pertanyaan MySQL kepada format CSV, meminimumkan memerlukan fail sementara:
Kaedah 1: PILIH KE DALAM OUTFILE
SELECT * INTO OUTFILE "c:/mydata.csv" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY "\n" FROM my_table;
Arahan ini mengeksport terus hasil pertanyaan ke fail CSV. Rujuk dokumentasi MySQL untuk sintaks dan pilihannya.
Kaedah 2: Penukaran Manual
$select = "SELECT * FROM table_name"; $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 (empty($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=your_desired_name.xls"); header("Pragma: no-cache"); header("Expires: 0"); print "$header\n$data";
Kaedah ini melibatkan gelung hasil pertanyaan baris demi baris, pemformatan dan mengeluarkan setiap medan sebagai nilai dipisahkan koma. Baris pertama mengandungi nama medan.
Pendekatan ini menyediakan penyelesaian mudah alih untuk mengeksport hasil pertanyaan MySQL ke format CSV, menawarkan fleksibiliti dan pemprosesan yang cekap.
Atas ialah kandungan terperinci Bagaimana dengan Cekap Menukar Keputusan Pertanyaan MySQL kepada CSV dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!