jquery — создает и публикует массив [Array []] для fputcsv ()

Я боролся с этим …

Мне нужно опубликовать на странице php, чтобы создать CSV-файл. Проблема в том, что я не могу понять, как создать правильный массив и затем отправить его в php для обработки.

Моя страница php имеет функцию, которая перебирает опубликованное значение и записывает в CSV.

function outputCSV($data) {
$output = fopen("php://output", "w");
foreach ($data as $row) {
fputcsv($output, $row);
}
fclose($output);
}

Я получаю $data через пост вроде так …

$csvData = $_POST['csvData'];

Затем запустив функцию …

outputCSV($csvData);

Когда я публикую сообщение, я получаю сообщение об ошибке Warning: Invalid argument supplied for foreach()

Я знаю, что это как-то связано с моими массивами на исходной странице (с поста) или с тем, как я их отправляю.

Вот как массив должен быть отформатирован (что работает, если я настрою его на странице php, затем запустите функцию)

outputCSV(
array(
array("name 1", "age 1", "city 1"),
array("name 2", "age 2", "city 2"),
array("name 3", "age 3", "city 3")
)
);

Теперь, на моей странице пост-я, я перебираю некоторые значения и создаю переменную var newData = []; который состоит из массива с массивами в качестве значений, когда я печатаю в консоли, я получаю это …

Array [ Array[3], Array[3], Array[3] ]

Для меня это выглядит правильно, но мне тяжело передать эту переменную на страницу php для правильного выполнения.

Я пробовал много вещей, таких как установка входного значения с переменной, а затем публикации.

<input id="csv" name="csvData[]"/>
$('#csv').val(newData);

Я пытался использовать JQuery $.post вот так

$.post("csvsave.php",{'csvData': newData});

Плюс куча других способов, хотя я бы потратил впустую ваше время, перечисляя их, поскольку я думаю, что любой из двух вышеуказанных способов должен работать, и я мог бы упустить что-то простое.

Иногда я получаю неполный результат (например, только один массив) с php print_rв других случаях я получаю все значения в csv, но только в одной строке, но всегда выдает ошибку, о которой я упоминал выше, и даже иногда записывает ошибку на страницу csv.

Я так измучен сейчас, что любая помощь или руководство будет с благодарностью.
Заранее спасибо!
Джеймс

Сложение

Если я сделаю var_dump по объявленной стоимости, я получаю это

array(1) { [0]=> string(59) "name 1,age 1,city 1,name 2,age 2,city 2,name 3,age 3,city 3" }

По какой-то причине я теряю внутренние массивы

0

Решение

Задача ещё не решена.

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

Других решений пока нет …

По вопросам рекламы [email protected]