Экспорт таблицы базы данных в csv с использованием страницы WordPress и переполнения стека

Я пытался сделать страницу WordPress, которая будет экспортировать файл .csv с данными из моей таблицы «статистика». Этот скрипт ниже отлично работает на localhost, если я поместил его в файл .php.

Но в WordPress это не работает по-моему. Я поместил этот скрипт на отдельной странице, используя плагин для вставки PHP. Он загружает файл .csv, когда я захожу на эту страницу, но данные внутри не являются данными из таблицы. Это дает данные, с тегами div и ошибками. Я пробовал также другой скрипт из Exchange, и снова, он возвращает этот странный файл, так что, очевидно, проблема в WordPress и моем понимании того же.

КОДЯ поставил этот скрипт на www.mydomain.com/export (это WordPress страница).

[insert_php]
global $wpdb;
$result = $wpdb->get_results('SELECT * FROM statistics', ARRAY_A);

header('Content-Type: text/csv');
$date = date("Y-m-d H:i:s");
header('Content-Disposition: attachment;filename=EXPORT_' . $date . '.csv');

foreach ($result as $row) {
if ($row) {
exportCsv(array_keys($row));
}}
while ($row) {
foreach ($result as $row) {
exportCsv($row);
}}
function exportCsv($rows) {
$separator = '';
foreach ($rows as $row) {
echo $separator . $row;
$separator = ',';
}
echo "\r\n";
}
[/insert_php]

Что мне не хватает? Как это сделать? Я хочу сделать экспорт одной таблицы в MySQL, которая будет экспортировать ее в хорошо отформатированном виде в файл .csv, чтобы пользователи могли загрузить ее на компьютер.

Экспортируйте таблицу базы данных в csv, используя страницу WordPress и php.

0

Решение

Я серьезно сомневаюсь, что код может работать: что while ($row) всегда верно (бесконечный цикл).

Я немного изменился:

$result = $wpdb->get_results('SELECT * FROM statistics', ARRAY_A);

if ($wpdb->num_rows) {

exportCsv(array_keys(current($result)));

foreach ( $result as $row )
exportCsv($row);

}

function exportCsv($fields) {
echo implode(',', $fields) . "\r\n";
}
0

Другие решения

Может быть, этот код может делать то, что вы хотите?
https://gist.github.com/umairidrees/8952054#file-php-save-db-table-as-csv

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector