There is a php script to write data from mysql to csv. The first line is written title. Then there is a record of basic information. The problem is that the first line is recorded and immediately the main part follows. There is no transition to a new line.
$code_group = $_GET['code_group']; // подключение к базе данных include("db.php"); $csv_file = ''; // создаем переменную, в которую записываем строки $sql_query = "SELECT `l_surname`, `l_name`, `l_patronymic`, `l_mail` FROM `temp_listener` where `code_group` = '$code_group'"; $result = mysql_query($sql_query, $db); if ($result) { while ($row = mysql_fetch_assoc($result)) { $csv_file .= '"'.$row["l_surname"].'";"'.$row["l_name"].'";"'.$row["l_patronymic"].'";"'.$row["l_mail"].'"'."\r\n"; // в качестве начала и конца полей я указал " (двойные кавычки) // в качестве разделителей полей я указал , (запятая) // \r\n - это перенос строки } } $csv_file2 = '1;2;3;4;\r\n'; $file_name = 'for_portal.csv'; // название файла $file = fopen($file_name,"w"); // открываем файл для записи, если его нет, то создаем его в текущей папке, где расположен скрипт fwrite($file,trim($csv_file2)); // записываем в файл строки fwrite($file,trim($csv_file)); // записываем в файл строки fclose($file); // закрываем файл // задаем заголовки. то есть задаем всплывающее окошко, которое позволяет нам сохранить файл. header('Content-type: application/csv'); // указываем, что это csv документ header("Content-Disposition: inline; filename=".$file_name); // указываем файл, с которым будем работать readfile($file_name); // считываем файл unlink($file_name); // удаляем файл. то есть когда вы сохраните файл на локальном компе, то после он удалится с сервера 