Я пытаюсь экспортировать данные из моей базы данных MySQL в несколько файлов CSV, а затем GZIP их.PHP CSV экспорт функции
У меня есть несколько проблем, которые делают его экспорта в CSV файл сложный ...
- Несколько полей (10) должны быть в 1 CSV файл
- Другие поля (многократным!) Являются сериализован и должен быть экспортирован в другой файл CSV с двумя другими несериализованными полями, включенными в этот файл CSV.
Что я хочу сделать, это создать все файлы CSV, созданные в файле gzip ... Вот что у меня есть до сих пор! Что происходит, пользователь проверяет разные флажки, с помощью которых они хотят экспортировать файл. Затем он передается в этот файл, где каждый файл имеет разные запросы SELECT и имена полей. Я даже не начал разбираться с сериализованными данными ... Я понятия не имею, как я это сделаю. Затем он возвращает CSV-файл, и я помещаю этот файл в массив, ожидающий экспорта в gzip ... даже не знаю, смогу ли я это сделать.
Любые предложения или помощь были бы высоко оценены!
$files = array();
if(in_array("general", $_POST['exportid'])){
$files[] = CSVoutput("SELECT timestamp, id, monday, tuesday, wednesday, thursday, friday, saturday, sunday, records, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 23, 24 FROM hourly", array(timestamp, id, monday, tuesday, wednesday, thursday, friday, saturday, sunday, records, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 23, 24));
}
function CSVoutput($query, $fields){
$rsSearchResults = mysql_query($query) or die(mysql_error());
$out = '';
$columns = count($fields);
// Put the name of all fields
for ($i = 0; $i < $columns; $i++) {
$l= $fields[$i];
$out .= '"'.$l.'",';
}
$out .="\n";
// Add all values in the table
while ($l = mysql_fetch_array($rsSearchResults)) {
for ($i = 0; $i < $columns; $i++) {
$out .='"'.$l["$i"].'",';
}
$out .="\n";
}
return $out;
}
exit;
Любые предложения о том, как реализовать эту функцию в моем скрипте? –
Мне не нравится писать код для людей, но я редактирую какой-нибудь псевдокод –
Это действительно полезно. Спасибо –